GrIntroduceContext (@NotNull Project project, @NotNull Editor editor, @Nullable GrExpression expression, @Nullable GrVariable variable, @Nullable StringPartInfo stringPart, @NotNull PsiElement scope) { if (variable != null) { final PsiElement[] occurrences = collectVariableUsages(variable, scope); return new GrIntroduceContextImpl(project, editor, null, variable, stringPart, occurrences, scope); } else if (expression != null ) { final PsiElement[] occurrences = findOccurrences(expression, scope); return new GrIntroduceContextImpl(project, editor, expression, variable, stringPart, occurrences, scope); } else { assert stringPart != null; return new GrIntroduceContextImpl(project, editor, expression, variable, stringPart, new PsiElement[]{stringPart.getLiteral()}, scope); } }