nl_tokens: “Un - rolls“ contents of current node : recursively replaces all repeating children with their repeated clones
pl_tokens: function unroll ( node ) { for ( var i = node . children . length - 1 , j , child , maxCount ; i >= 0 ; i -- ) { <mask> = node . children [ i ] ; if ( child . isRepeating ( ) ) { maxCount = j = child . repeatCount ; child . repeatCount = 1 ; child . updateProperty ( 'counter' , 1 ) ; child . updateProperty ( 'maxCount' , maxCount ) ; while ( -- j > 0 ) { child . parent . addChild ( child . clone ( ) , i + 1 ) . updateProperty ( 'counter' , j + 1 ) . updateProperty ( 'maxCount' , maxCount ) ; } } } // to keep proper 'counter' property, we need to walk // on children once again _ . each ( node . children , unroll ) ; return node ; }