code: public Set<InternalQName> getDeclaredSubtypes(final InternalQName nodeTypeName)
     {
        Set<InternalQName> resultSet = new HashSet<InternalQName>();
        for (Map.Entry<InternalQName, NodeTypeHolder> entry : nodeTypes.entrySet())
        {
           InternalQName[] declaredSupertypeNames = entry.getValue().nodeType.getDeclaredSupertypeNames();
           for (int i = 0; i < declaredSupertypeNames.length; i++)
           {
              if (nodeTypeName.equals(declaredSupertypeNames[i]))
                 resultSet.add(entry.getKey());
           }
        }
        return resultSet;
     }
docs: Returns the <i>direct</i> subtypes of this node type in the node type
  inheritance hierarchy, that is, those which actually declared this node
  type in their list of supertypes.
  
  @return