@Override
  @NotNull
  public Collection<AbstractTreeNode<?>> getChildren() {
    final Collection<ModuleGroup> childGroups = getValue().childGroups(getProject());
    final List<AbstractTreeNode<?>> result = new ArrayList<>();
    for (final ModuleGroup childGroup : childGroups) {
      result.add(createModuleGroupNode(childGroup));
    }
    Collection<Module> modules = getValue().modulesInGroup(getProject());
    try {
      for (Module module : modules) {
        result.add(createModuleNode(module));
      }
    }
    catch (ReflectiveOperationException e) {
      LOG.error(e);
    }

    return result;
  }
@Override
  @NotNull
  public Collection<AbstractTreeNode<?>> getChildren()