ExtractableExpressionPart (@NotNull PsiExpression usage, @NotNull PsiType type) { PsiType usageType; //noinspection AssertWithSideEffects assert (usageType = usage.getType()) == null || type.isAssignableFrom(usageType) : "expected " + type.getCanonicalText() + ", got " + usageType.getCanonicalText(); return new ExtractableExpressionPart(usage, null, null, type); }