private static boolean shouldCreateGetter(@NotNull PsiField psiField,
                                            @NotNull GetterFieldProcessor fieldProcessor,
                                            @NotNull AccessorsInfo.AccessorsValues classAccessorsValues,
                                            @NotNull Collection<PsiMethod> classMethods) {
    boolean createGetter = true;
    PsiModifierList modifierList = psiField.getModifierList();
    if (null != modifierList) {
      //Skip static fields.
      createGetter = !modifierList.hasModifierProperty(PsiModifier.STATIC);
      //Skip fields having Getter annotation already
      createGetter &= PsiAnnotationSearchUtil.isNotAnnotatedWith(psiField, fieldProcessor.getSupportedAnnotationClasses());
      //Skip fields that start with $
      createGetter &= !psiField.getName().startsWith(LombokUtils.LOMBOK_INTERN_FIELD_MARKER);
      //Skip fields if a method with same name and arguments count already exists
      final AccessorsInfo accessorsInfo = AccessorsInfo.buildFor(psiField, classAccessorsValues);
      final Collection<String> methodNames =
        LombokUtils.toAllGetterNames(accessorsInfo, psiField.getName(), PsiTypes.booleanType().equals(psiField.getType()));
      for (String methodName : methodNames) {
        createGetter &= !PsiMethodUtil.hasSimilarMethod(classMethods, methodName, 0);
      }
    }
    return createGetter;
  }
private static boolean shouldCreateGetter(@NotNull PsiField psiField,
                                            @NotNull GetterFieldProcessor fieldProcessor,
                                            @NotNull AccessorsInfo.AccessorsValues classAccessorsValues,
                                            @NotNull Collection<PsiMethod> classMethods)