List<ClassMember> (ClassMember[] members) { List<ImplicitUsageProvider> implicitUsageProviders = ImplicitUsageProvider.EP_NAME.getExtensionList(); final List<ClassMember> preselection = new ArrayList<>(); fieldLoop: for (ClassMember member : members) { if (member instanceof PsiFieldMember) { final PsiField psiField = ((PsiFieldMember)member).getElement(); if (!psiField.hasModifierProperty(PsiModifier.FINAL)) { continue fieldLoop; } for (ImplicitUsageProvider provider : implicitUsageProviders) { if (provider.isImplicitWrite(psiField)) continue fieldLoop; } preselection.add(member); } } return preselection; }