nl_tokens: Create a new Range by making the union with a Range using same interval as this Range . NOTE : no strides
pl_tokens: public Range union ( Range r ) throws InvalidRangeException { if ( length ( ) == 0 ) return r ; if ( this == VLEN || r == VLEN ) return VLEN ; if ( r . length ( ) == 0 ) return this ; int first = Math . <mask> ( this . first ( ) , r . first ( ) ) ; int last = Math . max ( this . last ( ) , r . last ( ) ) ; return new Range ( name , first , last ) ; }