@Nullable
  public static Extension findExtension(PsiClass psiClass) {
    return CachedValuesManager.getCachedValue(psiClass, () -> {
      Module module = ModuleUtilCore.findModuleForPsiElement(psiClass);
      Extension extension = module == null ? null : doFindExtension(module, psiClass);
      return CachedValueProvider.Result.create(extension,
                                               UastModificationTracker.getInstance(psiClass.getProject()),
                                               psiClass.getManager().getModificationTracker().forLanguage(XMLLanguage.INSTANCE));
    });
  }
@Nullable
  public static Extension findExtension(PsiClass psiClass)