@NotNull
  @Override
  protected BaseInspectionVisitor buildVisitor() {
    return new BaseInspectionVisitor() {
      @Override
      public void visitTypeDefinition(@NotNull GrTypeDefinition typeDefinition) {
        super.visitTypeDefinition(typeDefinition);

        Map<String, PsiMethod> getters = new HashMap<>();
        for (PsiMethod method : typeDefinition.getMethods()) {
          final String methodName = method.getName();
          if (!GroovyPropertyUtils.isSimplePropertyGetter(method)) continue;

          final String propertyName = GroovyPropertyUtils.getPropertyNameByGetterName(methodName, true);

          final PsiMethod otherGetter = getters.get(propertyName);
          if (otherGetter != null && !methodName.equals(otherGetter.getName())) {
            final Pair<PsiElement, String> description = getGetterDescription(method);
            final Pair<PsiElement, String> otherDescription = getGetterDescription(otherGetter);

            if (description.first != null) {
              registerError(description.first, description.second, otherDescription.second);
            }
            if (otherDescription.first != null) {
              registerError(otherDescription.first, otherDescription.second, description.second);
            }
          }
          else {
            getters.put(propertyName, method);
          }
        }
      }
    };
  }
@NotNull
  @Override
  protected BaseInspectionVisitor buildVisitor()