nl_tokens: Walks the tree left / right
pl_tokens: function walk ( node , root_node , prev ) { var sibling , parent , startName = prev ? 'lastChild' : 'firstChild' , siblingName = prev ? 'prev' : 'next' ; // Walk into nodes if it has a start
   if ( node [ startName ] ) return node [ startName ] ; // Return the sibling if it has one
   if ( node !== root_node ) { sibling = <mask> [ siblingName ] ; if ( sibling ) return sibling ; // Walk up the parents to look for siblings
   for ( parent = node . parent ; parent && parent !== root_node ; parent = parent . parent ) { sibling = parent [ siblingName ] ; if ( sibling ) return sibling ; } } }