u.on();
    public static InlineBox generateMultilineBreak( Context c, Node node, int start, String text,                                                    InlineBox prev, InlineBox prev_align, int avail ) {        int extra = 0;        // calc end index to most words that will fit        int end = start;        int dbcount = 0;        while ( true ) {                                    // debugging code            dbcount++;            //u.off();            u.on();            if ( dbcount > 50 ) {                u.on();            }            if ( dbcount > 100 ) {                u.on();                u.p( "db 2 hit" );                u.p( "text = " + text );                u.p( "end = " + end );                throw new InfiniteLoopError( "Caught a potential infinite loop in the LineBreaker" );            }                                    int next_space = text.indexOf( " ", end );            if ( next_space == -1 ) {                next_space = text.length();            }            Font font = FontUtil.getFont( c, node );            int len2 = FontUtil.len( c, node, text.substring( start, next_space ), font );            // if this won't fit, then break and use the previous span            if ( len2 > avail ) {                InlineBox box = newBox( c, node, start, end, prev, text, prev_align, font );                return box;            }            // if this will fit but we are at the end then break and use current span            if ( next_space == text.length() ) {                InlineBox box = newBox( c, node, start, next_space, prev, text, prev_align, font );                //u.p("normal break returning curr span: " + box);                return box;            }            // skip over the space            end = next_space + 1;        }    }