@Override
    public void visitField(@NotNull PsiField field) {
      super.visitField(field);
      if (field instanceof PsiEnumConstant) {
        return;
      }
      if (DeclarationSearchUtils.findFirstFieldInDeclaration(field) != field) {
        if (!isVisibleHighlight(field)) {
          registerError(field);
        }
        return;
      }
      else if (DeclarationSearchUtils.findNextFieldInDeclaration(field) == null) {
        return;
      }
      final boolean isVisibleHighlight = isVisibleHighlight(field);
      if (onlyWarnArrayDimensions) {
        if (isVisibleHighlight) {
          PsiField nextField = DeclarationSearchUtils.findNextFieldInDeclaration(field);
          final PsiType baseType = field.getType();
          while (nextField != null) {
            if (!baseType.equals(nextField.getType())) {
              registerVariableError(field);
              return;
            }
            nextField = DeclarationSearchUtils.findNextFieldInDeclaration(nextField);
          }
        }
        if (!isOnTheFly()) return;
        registerError(field, ProblemHighlightType.INFORMATION);
      }
      else {
        if (!isVisibleHighlight) {
          registerError(field);
        }
        else {
          registerVariableError(field);
        }
      }
    }
@Override
    public void visitField(@NotNull PsiField field)