@Override
  public @NotNull PsiJavaCodeReferenceElement getBaseClassReference() {
    return CachedValuesManager.getCachedValue(this, () -> {
      PsiJavaCodeReferenceElement[] refs = getExtendsList().getReferenceElements();
      if (refs.length == 0) {
        refs = getImplementsList().getReferenceElements();
      }
      return CachedValueProvider.Result.create(
        refs.length == 0 ? new ClsJavaCodeReferenceElementImpl(this, CommonClassNames.JAVA_LANG_OBJECT) : refs[0],
        this);
    });
  }
@Override
  public @NotNull PsiJavaCodeReferenceElement getBaseClassReference()