static function processNodeCombiningChildren($useComments, $php, $tpl, &$nodeChildren, &$resourceData, &$parentNode)
 {
     $newNodeChildren = array();
     $lastNode = false;
     foreach ($nodeChildren as $node) {
         $newNode = false;
         if (!isset($node[0])) {
             continue;
         }
         $nodeType = $node[0];
         if ($nodeType == eZTemplate::NODE_ROOT) {
             $children = $node[1];
             $newNode = array($nodeType, false);
             if ($children) {
                 eZTemplateCompiler::processNodeCombiningChildren($useComments, $php, $tpl, $children, $resourceData, $newNode);
             }
         } else {
             if ($nodeType == eZTemplate::NODE_TEXT) {
                 $text = $node[2];
                 $placement = $node[3];
                 $newNode = array($nodeType, false, $text, $placement);
                 eZTemplateCompiler::combineStaticNodes($tpl, $resourceData, $lastNode, $newNode);
             } else {
                 if ($nodeType == eZTemplate::NODE_VARIABLE) {
                     $variableCustom = $node[1];
                     $variableData = $node[2];
                     $variablePlacement = $node[3];
                     $variableParameters = false;
                     $dataInspection = eZTemplateCompiler::inspectVariableData($tpl, $variableData, $variablePlacement, $resourceData);
                     $newNode = $node;
                     $newNode[1] = $variableCustom;
                     unset($dataInspection);
                     eZTemplateCompiler::combineStaticNodes($tpl, $resourceData, $lastNode, $newNode);
                 } else {
                     if ($nodeType == eZTemplate::NODE_FUNCTION) {
                         $functionChildren = $node[1];
                         $functionName = $node[2];
                         $functionParameters = $node[3];
                         $functionPlacement = $node[4];
                         $newNode = array($nodeType, false, $functionName, $functionParameters, $functionPlacement);
                         if (isset($node[5])) {
                             $newNode[5] = $node[5];
                         }
                         if (is_array($functionChildren)) {
                             eZTemplateCompiler::processNodeCombiningChildren($useComments, $php, $tpl, $functionChildren, $resourceData, $newNode);
                         }
                     } else {
                         $newNode = $node;
                     }
                 }
             }
         }
         if ($lastNode != false) {
             $newNodeChildren[] = $lastNode;
             $lastNode = false;
         }
         if ($newNode != false) {
             $lastNode = $newNode;
         }
     }
     if ($lastNode != false) {
         $newNodeChildren[] = $lastNode;
         $lastNode = false;
     }
     $parentNode[1] = $newNodeChildren;
 }