code: private void processCheckExpandedCustomNodes(final TreeItemIdNode node, final Set<String> expandedRows) {
  		// Node has no children
  		if (!node.hasChildren()) {
  			return;
  		}
  
  		// Check node is expanded
  		boolean expanded = getExpandMode() == WTree.ExpandMode.CLIENT || expandedRows.contains(node.getItemId());
  		if (!expanded) {
  			return;
  		}
  
  		if (node.getChildren().isEmpty()) {
  			// Add children from the model
  			loadCustomNodeChildren(node);
  		} else {
  			// Check the expanded child nodes
  			for (TreeItemIdNode child : node.getChildren()) {
  				processCheckExpandedCustomNodes(child, expandedRows);
  			}
  		}
  	}
docs: Iterate through nodes to check expanded nodes have their child nodes.
  <p>
  If a node is flagged as having children and has none, then load them from the tree model.
  </p>
  
  @param node the node to check
  @param expandedRows the expanded rows