@Override
    public void visitField(@NotNull PsiField field) {
      boolean isStatic = field.hasModifierProperty(PsiModifier.STATIC);
      boolean report = isStatic && reportStaticFields ||
                       !isStatic && reportInstanceFields;
      if (!report) return;
      final PsiTypeElement typeElement = field.getTypeElement();
      if (!typeIsConcreteClass(typeElement)) return;
      final String variableName = field.getName();
      registerError(typeElement, InspectionGadgetsBundle.message(
        isStatic ? "static.variable.of.concrete.class.problem.descriptor"
                 : "instance.variable.of.concrete.class.problem.descriptor", variableName));
    }
@Override
    public void visitField(@NotNull PsiField field)