*/
    void wordExtendForwards( Variant v )
    {
        char pc;
        Pair p;
        int index = v.endIndex;
        int offset = v.length;
        for ( int i=v.startIndex;i<=v.endIndex;i++ )
        {
            p = pairs.get( i );
            if ( offset >= p.length() )
                offset -= p.length();
        }
        p = pairs.get( index );
        do
        {
            offset++;
            while ( offset >= p.length() )
            {
                index = next( index,(short)v.versions.nextSetBit(1) );
                if ( index >= 0 )
                {
                    p = pairs.get( index );
                    offset = 0;
                }
                else
                    break;
            }
            pc = p.getChars()[offset];
            if ( Character.isWhitespace((char)pc)||isPunctuation(pc) )
                break;
            else
            {
                v.endIndex = index;
                v.length++;
            }
        }
        while ( index >= 0 );
    }