@Override
  public XmlNSDescriptor getNSDescriptor() {
    return new XmlNSDescriptor() {
      @Override
      public @Nullable XmlElementDescriptor getElementDescriptor(final @NotNull XmlTag tag) {
        throw new UnsupportedOperationException("Method getElementDescriptor not implemented in " + getClass());
      }

      @Override
      public XmlElementDescriptor @NotNull [] getRootElementsDescriptors(final @Nullable XmlDocument document) {
        throw new UnsupportedOperationException("Method getRootElementsDescriptors not implemented in " + getClass());
      }

      @Override
      public @Nullable XmlFile getDescriptorFile() {
        return null;
      }

      @Override
      public @Nullable PsiElement getDeclaration() {
        throw new UnsupportedOperationException("Method getDeclaration not implemented in " + getClass());
      }

      @Override
      public @NonNls String getName(final PsiElement context) {
        throw new UnsupportedOperationException("Method getName not implemented in " + getClass());
      }

      @Override
      public @NonNls String getName() {
        throw new UnsupportedOperationException("Method getName not implemented in " + getClass());
      }

      @Override
      public void init(final PsiElement element) {
        throw new UnsupportedOperationException("Method init not implemented in " + getClass());
      }

      @Override
      public Object @NotNull [] getDependencies() {
        throw new UnsupportedOperationException("Method getDependencies not implemented in " + getClass());
      }
    };
  }
@Override
  public XmlNSDescriptor getNSDescriptor()