xml_GNode*
xml_g_node_group2 (xml_GNode* left, xml_GNode* right, xml_GNode* node)
{
    if (! right) return xml_g_node_group1 (left, node);
    g_return_val_if_fail (left, node);
    
    if (! node) return node;
    g_return_val_if_fail (! node->children, node);
    if (node->next || node->prev || node->parent)
	xml_g_node_unlink (node);
    return xml_g_node_group2_(left, right, node);
} |  
   |