There’s only one class, Group, that can “contain” other Nodes and Links.
In the current design, every Node or Link can be “contained” by at most one Group. Such a group is called a “subgraph”.
It is possible that in the (currently unplanned) future a part might be “contained” by more than one group. But not now.
Another way to describe the situation is that every instance of IGroupsModel must be an ISubGraphModel.
Thanks for your response! It’s cleaer!