m_root = parent;
m_root.setFullyExpanded();
m_deHashtable.clear();
m_deHashtable.put(parent.m_deName, parent);
m_CROM_Tree = cromTree;
CROM crom_root = cromTree.getRoot();
if (crom_root != null) {
crom_root.addType(CROM.CROM_t_Root);
// this method create a Node for m_CROM_Tree.m_root and also create Node for its
// children recursively
// furthermore it will explode the children if possible.
// the exploding will terminate if the complex type define
// 1. a derived_type_holder
// 2. a substitution_group, or
// 3. encounter recursive
if (m_where == c_TreeMapperTarget) {
m_bIsLdapTarget = m_TreeMapper.m_Transformation.getOutputStructure().getStructureType() == DataStructureType.LDAP;
}
CromType type = CromType.fromName(crom_root.m_CromType.name);
if ((type.equals(CromType.CROM_t_Text) || type.equals(CromType.CROM_t_DB)) && crom_root.getName().isEmpty()) {
parent.m_CROM = crom_root;
for (CROM child : crom_root.getChildren()) {
// clear the old hashtable so the checking of the existence of nodes can be done
parent.createChildrenFromCROM(child, null, "");
}
} else {
// clear the old hashtable so the checking of the existence of nodes can be done