@Override
  public void contributeMetaData(@NotNull MetaDataRegistrar registrar) {
    registrar.registerMetaData(
      new AndFilter(
        new NamespaceFilter(RNG_NAMESPACE),
        new ClassFilter(XmlDocument.class)
      ),
      RngNsDescriptor.class);

    registrar.registerMetaData(
      new ClassFilter(RncDocument.class),
      RngNsDescriptor.class);

    registrar.registerMetaData(new ElementFilter() {
      @Override
      public boolean isAcceptable(Object element, PsiElement context) {
        if (element instanceof XmlTag tag) {
          final DomElement domElement = DomManager.getDomManager(tag.getProject()).getDomElement(tag);
          return domElement instanceof RngDefine;
        }
        return false;
      }

      @Override
      public boolean isClassAcceptable(Class hintClass) {
        return XmlTag.class.isAssignableFrom(hintClass);
      }
    }, RngDefineMetaData.class);
  }
@Override
  public void contributeMetaData(@NotNull MetaDataRegistrar registrar)