protected function processNode( Node $node, \XMLReader $xmlReader )
    {
        $node = parent::processNode( $node, $xmlReader );
        $children = [ ];

        if( !$xmlReader->isEmptyElement )
        {
            $scanner = new NodeStrategyTraversal();
            $scanner->addNodeHandler( '*', new self( function ( $node ) use ( &$children )
            {
                $children[] = $node;
            } ) );
            $scanner->parse( $xmlReader, $this->startDepth );
        }

        $node->children = $children;

        return $node;
    }