private void architecture(){
List<HierarchyInfo> allHierchyInfoList =
new ArrayList<HierarchyInfo>(all.values());
for(int i=0; i<allHierchyInfoList.size(); i++){
HierarchyInfo c1 = allHierchyInfoList.get(i);
for(int j=i+1; j<allHierchyInfoList.size(); j++){
HierarchyInfo c2 = allHierchyInfoList.get(j);
if(isDirectChildOfClass(c2.getType(), c1.getType())){
c1.getChildren().add(c2);
}else if(isDirectChildOfClass(c1.getType(), c2.getType())){
c2.getChildren().add(c1);
}
}
}
}