@Override
	public boolean isLeaf() {
		return false;
	}
Subdivide the given list of nodes recursively such that there are generally not more
than maxGroupSize number of nodes at any level. Also, if there are ever many
nodes of the same name, a group for them will be created and only a few will be shown with
an "xx more..." node to indicate there are additional nodes that are not shown.
<p>
This algorithm uses the node names to group nodes based upon common prefixes.  For example,
if a parent node contained more than <tt>maxNodes</tt> children then a possible grouping
would be:
<pre>
 -abc...
 --abca
 --abcb
 --abcc
 -g
</pre>
where the nodes given contained:
<pre>
 abca
 abcb
 abcc
 g
</pre>

@param list list of child nodes of to breakup into smaller groups
@param maxGroupSize the max number of nodes to allow before trying to organize into
smaller groups
@param monitor the TaskMonitor to be checked for canceling this operation
@return the given {@code list} sub-grouped as outlined above
@throws CancelledException if the operation is cancelled
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/symboltree/nodes/OrganizationNode.java