@Override
  public List<DomElementProblemDescriptor> checkForProblems(final @NotNull ExtendClass extend,
                                                            final @NotNull DomElement _element,
                                                            final @NotNull DomElementAnnotationHolder holder,
                                                            final @NotNull DomHighlightingHelper helper) {
    if (!(_element instanceof GenericDomValue element)) return Collections.emptyList();

    if (!isPsiClassType(element)) return Collections.emptyList();

    final Object valueObject = element.getValue();
    PsiClass psiClass = null;

    if (valueObject instanceof PsiClass cls) {
      psiClass = cls;
    }
    else if (valueObject instanceof PsiClassType classType) {
      psiClass = classType.resolve();
    }

    if (psiClass != null) {
      return checkExtendClass(element, psiClass, extend.value(),
                              extend.instantiatable(), extend.canBeDecorator(), extend.allowInterface(),
                              extend.allowNonPublic(), extend.allowAbstract(), extend.allowEnum(), holder);
    }
    return Collections.emptyList();
  }
@Override
  public List<DomElementProblemDescriptor> checkForProblems(final @NotNull ExtendClass extend,
                                                            final @NotNull DomElement _element,
                                                            final @NotNull DomElementAnnotationHolder holder,
                                                            final @NotNull DomHighlightingHelper helper)