Map childTypes = new HashMap();
// breadthfirst traversal of the type containment tree
List allSeenTypes = new ArrayList();
allSeenTypes.addAll(Arrays.asList(typeSystem.documentTypes()));
allSeenTypes.addAll(Arrays.asList(typeSystem.attributeTypes()));
allSeenTypes.addAll(Arrays.asList(typeSystem.globalTypes()));
for (int i = 0; i < allSeenTypes.size(); i++)
{
SchemaType sType = (SchemaType)allSeenTypes.get(i);