Integer (@NotNull LookupElement element) { JavaConstructorCallElement call = element.as(JavaConstructorCallElement.class); Object o = call != null ? call.getConstructedClass() : element.getObject(); if (o instanceof PsiKeyword) return -3; if (!(o instanceof PsiMember) || element.getUserData(JavaGenerateMemberCompletionContributor.GENERATE_ELEMENT) != null) { return 0; } if (((PsiMember)o).hasModifierProperty(PsiModifier.STATIC) && !hasNonVoid(infos)) { if (o instanceof PsiMethod) return -5; if (o instanceof PsiField) return -4; } if (o instanceof PsiClass) return -3; //instance method or field return -5; }