ChainCompletionContext (PsiAssignmentExpression assignmentExpression, CompletionParameters parameters) { PsiExpression lExpr = assignmentExpression.getLExpression(); if (!(lExpr instanceof PsiReferenceExpression)) return null; PsiElement resolved = ((PsiReferenceExpression)lExpr).resolve(); return resolved instanceof PsiVariable ? ChainCompletionContext.createContext(((PsiVariable)resolved).getType(), assignmentExpression, suggestIterators(parameters)) : null; }