public static LineMap makeLineMap(char[] src, int max, boolean expandTabs) {
        LineMapImpl lineMap = expandTabs ?
            new LineTabMapImpl(max) : new LineMapImpl();
        lineMap.build(src, max);
        return lineMap;
    }
public static LineMap makeLineMap ( char [ ] src , int max , boolean expandTabs ) { LineMapImpl lineMap = expandTabs ? new LineTabMapImpl ( max ) : new LineMapImpl ( ) ; lineMap . build ( src , max ) ; return lineMap ; }
A two-way map between line/column numbers and positions,
derived from a scan done at creation time.  Tab expansion is
optionally supported via a character map.  Text content
is not retained.
<p>
Notes:  The first character position FIRSTPOS is at
(FIRSTLINE,FIRSTCOLUMN).  No account is taken of Unicode escapes.

@param   src         Source characters
@param   max         Number of characters to read
@param   expandTabs  If true, expand tabs when calculating columns