boolean (CompletionParameters parameters) { boolean isSecondCompletion = parameters.getInvocationCount() >= 2; PsiElement position = parameters.getPosition(); if (JavaKeywordCompletion.isInstanceofPlace(position) || JavaMemberNameCompletionContributor.INSIDE_TYPE_PARAMS_PATTERN.accepts(position) || AFTER_ENUM_CONSTANT.accepts(position)) { return false; } PsiElement parent = position.getParent(); if (!(parent instanceof PsiJavaCodeReferenceElement)) return isSecondCompletion; if (((PsiJavaCodeReferenceElement)parent).getQualifier() != null) return isSecondCompletion; if (parent instanceof PsiJavaCodeReferenceElementImpl && ((PsiJavaCodeReferenceElementImpl)parent).getKindEnum(parent.getContainingFile()) == PsiJavaCodeReferenceElementImpl.Kind.PACKAGE_NAME_KIND) { return false; } if (IN_SWITCH_LABEL.accepts(position)) { return HighlightingFeature.PATTERNS_IN_SWITCH.isAvailable(parent); } if (psiElement().inside(PsiImportStatement.class).accepts(parent)) { return isSecondCompletion; } PsiElement grand = parent.getParent(); if (grand instanceof PsiAnonymousClass) { grand = grand.getParent(); } if (grand instanceof PsiNewExpression && ((PsiNewExpression)grand).getQualifier() != null) { return false; } return !JavaKeywordCompletion.isAfterPrimitiveOrArrayType(position); }