@NotNull
    @Override
    Collection<AbstractTreeNode<?>> createChildren(@NotNull Collection<? extends AbstractTreeNode<?>> old) {
      Map<Object, RootNode> oldRoots = roots;
      Map<Object, RootNode> newRoots = new HashMap<>();
      Mapper<RootNode, ProjectFileNode> mapper = new Mapper<>(RootNode::new, oldRoots);
      model.getChildren(model.getRoot()).forEach(child -> newRoots.put(child, mapper.apply(this, child)));
      roots = newRoots;
      if (newRoots.isEmpty()) {
        return Collections.emptyList();
      }
      return new Group(newRoots.values(), getSettings().isFlattenModules() || !hasModuleGroups(getProject())).createChildren(this, old);
    }
@NotNull
    @Override
    Collection<AbstractTreeNode<?>> createChildren(@NotNull Collection<? extends AbstractTreeNode<?>> old)