protected static List<ClassMember> preselect(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;
  }
protected static List<ClassMember> preselect(ClassMember[] members)