}
public RootModuleDefinition getModuleDefinition() {
Properties rootModuleProperties = getPropertiesForModule(rootModuleName);
TypeReader typeReader = getTypeReadeRegistry().getTypeReader(ModuleTypes.ROOT);
RootModuleDefinition rootModuleDefinition = readRootModuleDefinition(rootModuleProperties, typeReader);
//recursively build child definitions
buildChildDefinitions(rootModuleDefinition, rootModuleName);
for (String sibling : siblings) {
ModuleDefinition siblingDefinition = buildModuleDefinition(null, sibling);
buildChildDefinitions(siblingDefinition, siblingDefinition.getName());
rootModuleDefinition.addSibling(siblingDefinition);
}
return rootModuleDefinition;
}