protected MultiStringWrapper asMultiStringWrapper(StringWrapper w) 
	{
		if (w instanceof MultiStringWrapper) return (MultiStringWrapper)w;
		else 	{
			MultiStringWrapper mw = new MultiStringWrapper( w.unwrap(), innerLearners.length, delim);
			for (int i=0; i<mw.size(); i++) {
				mw.set(i, prepareForLearner( mw.get(i), innerLearners[mw.getDistanceLearnerIndex(i)] ) );
			}
			return mw;
		}
	}
protected MultiStringWrapper asMultiStringWrapper ( StringWrapper w ) { if ( w instanceof MultiStringWrapper ) return ( MultiStringWrapper ) w ; else { MultiStringWrapper mw = new MultiStringWrapper ( w . unwrap ( ) , innerLearners . length , delim ) ; for ( int i = 0 ; i < mw . size ( ) ; i ++ ) { mw . set ( i , prepareForLearner ( mw . get ( i ) , innerLearners [ mw . getDistanceLearnerIndex ( i ) ] ) ) ; } return mw ; } }
/* lazily convert to a MultiStringWrapper