public void put(String id, StringWrapper toInsert,Object value)
    {
	MyWrapper wrapper = asMyWrapper(toInsert);
	Token[] tokens = wrapper.getTokens();
	for (int i=0; i<tokens.length; i++) {
	    ArrayList stringsWithToken = (ArrayList) index.get(tokens[i]);
	    if (stringsWithToken==null) index.put( tokens[i], (stringsWithToken=new ArrayList()) );
	    stringsWithToken.add( wrapper );
	}
	map.put( wrapper, value );
	if (id!=null) idMap.put( wrapper, id );
	distance = null; // mark distance as "out of date" 
	totalEntries++;
    }
public void put ( String id , StringWrapper toInsert , Object value ) { MyWrapper wrapper = asMyWrapper ( toInsert ) ; Token [ ] tokens = wrapper . getTokens ( ) ; for ( int i = 0 ; i < tokens . length ; i ++ ) { ArrayList stringsWithToken = ( ArrayList ) index . get ( tokens [ i ] ) ; if ( stringsWithToken == null ) index . put ( tokens [ i ] , ( stringsWithToken = new ArrayList ( ) ) ) ; stringsWithToken . add ( wrapper ) ; } map . put ( wrapper , value ) ; if ( id != null ) idMap . put ( wrapper , id ) ; distance = null ; totalEntries ++ ; }
Insert a prepared string into the dictionary.

<p>Id is a special tag used to handle 'leave one out'
lookups.  If you do a lookup on a string with a non-null
id, you get the closest matches that do not have the same
id.