@Override
  public ModuleDTO[] getChildrenFromModule(String logicalPath) {
    Module module = this.moduleService.getModuleByLogicalPath(logicalPath);
    ModuleDTO moduleDTO = domainParser.parseModule(module);
    ModuleDTO[] childModuleDTOs = moduleDTO.subModules;

    // Removing nested childs
    for (ModuleDTO modDTO : childModuleDTOs) {
      modDTO.subModules = new ModuleDTO[] {};
    }

    return childModuleDTOs;
  }
 @Override
 public ModuleDTO[] getRootModules() {
   Module[] modules = this.moduleService.getRootModules();
   ModuleDTO[] moduleDTOs = domainParser.parseRootModules(modules);
   return moduleDTOs;
 }
 @Override
 public RuleDTO[] getDefinedRules() {
   AppliedRule[] rules = this.appliedRuleService.getAppliedRules();
   RuleDTO[] ruleDTOs = domainParser.parseRules(rules);
   return ruleDTOs;
 }
 @Override
 public ApplicationDTO getApplicationDetails() {
   Application app = defineDomainService.getApplicationDetails();
   ApplicationDTO appDTO = domainParser.parseApplication(app);
   return appDTO;
 }