final PsiElement parent = place.getParent();
if (parent == null || list == parent) return true;
final PsiElement second = list.getSecondNonLeafElement();
if (second instanceof ClSymbol && place != second) {
ClSymbol symbol = (ClSymbol) second;
for (ResolveResult result : symbol.multiResolve(false)) {
final PsiElement element = result.getElement();
if (element instanceof PsiNamedElement && !ResolveUtil.processElement(processor, (PsiNamedElement) element)) {
return false;
}
}
if (lastParent == null || lastParent == list) {
return true;
}
if (parent.getParent() == list) {
if (place instanceof ClSymbol && ((ClSymbol) place).getQualifierSymbol() == null) {
ClSymbol symbol2 = (ClSymbol) place;
ResolveResult[] results = ClSymbolImpl.MyResolver.resolveJavaMethodReference(symbol2, list, true);
for (ResolveResult result : results) {
final PsiElement element = result.getElement();
if (element instanceof PsiNamedElement && !ResolveUtil.processElement(processor, (PsiNamedElement) element)) {
return false;