code: public void removeNodeType(NodeTypeData nodeType)
     {
        InternalQName nodeTypeName = nodeType.getName();
        // put supers
        final Set<InternalQName> supers = hierarchy.getSubtypes(nodeTypeName);
  
        // remove from internal lists
        hierarchy.removeNodeType(nodeTypeName);
  
        // remove supers
        if (supers != null)
        {
           for (final InternalQName superName : supers)
           {
              defsHolder.removeDefinitions(nodeTypeName, hierarchy.getNodeType(superName));
           }
        }
        // remove it self
        defsHolder.removeDefinitions(nodeTypeName, nodeType);
        haveTypes = hierarchy.getAllNodeTypes().size() > 0;
     }
docs: {@inheritDoc}