static function handleNode($node, $generator, $level = 0)
 {
     switch ($node->localName) {
         case "section":
             foreach ($node->childNodes as $childNode) {
                 self::handleNode($childNode, $generator, $level + 1);
             }
             break;
         case "header":
             if ($level == 0) {
                 $level = 1;
             }
             $paragraphParameters = array();
             $prevLineBreak = false;
             foreach ($node->childNodes as $childNode) {
                 $return = eZOOConverter::handleInlineNode($childNode, $generator, $prevLineBreak);
                 $paragraphParameters = array_merge($paragraphParameters, $return['paragraph_parameters']);
                 $prevLineBreak = $childNode->nodeType === XML_ELEMENT_NODE && $childNode->localName === 'line';
             }
             $generator->addHeader(trim($node->nodeValue), $level, $paragraphParameters);
             break;
         case "ul":
         case "ol":
             self::handleInlineNode($node, $generator, $level);
             break;
         case "paragraph":
             $paragraphParameters = array();
             $imageArray = array();
             $prevLineBreak = false;
             foreach ($node->childNodes as $child) {
                 $return = self::handleInlineNode($child, $generator, $prevLineBreak);
                 $paragraphParameters = array_merge($paragraphParameters, $return['paragraph_parameters']);
                 $imageArray = array_merge($imageArray, $return['image_array']);
                 $prevLineBreak = $child->nodeType === XML_ELEMENT_NODE && $child->localName === 'line';
             }
             foreach ($imageArray as $image) {
                 $generator->addImage($image);
             }
             if (!empty($paragraphParameters) && isset($GLOBALS['CustomTagStyle']) and $GLOBALS['CustomTagStyle'] != false) {
                 array_unshift($paragraphParameters, $GLOBALS['CustomTagStyle']);
             }
             call_user_func_array(array($generator, "addParagraph"), $paragraphParameters);
             break;
         default:
             eZDebug::writeError("Unsupported node for document conversion: " . $node->localName);
     }
 }