public static @Nullable PsiMetaData getMetaBase(PsiElement element) {
    ProgressIndicatorProvider.checkCanceled();
    return CachedValuesManager.getCachedValue(element, () -> {
      ensureContributorsLoaded();
      for (MyBinding binding : ourBindings) {
        if (binding.myFilter.isClassAcceptable(element.getClass()) && binding.myFilter.isAcceptable(element, element.getParent())) {
          PsiMetaData data = binding.myDataClass.get();
          data.init(element);
          Object[] dependencies = data.getDependencies();
          if (NullUtils.hasNull(dependencies)) {
            LOG.error(data + "(" + binding.myDataClass + ") provided null dependency");
          }
          return new CachedValueProvider.Result<>(data, ArrayUtil.append(dependencies, element));
        }
      }
      return new CachedValueProvider.Result<>(null, element);
    });
  }
public static @Nullable PsiMetaData getMetaBase(PsiElement element)