code: public void setDistanceInstancePool(DistanceInstanceIterator it) 
  	{
  		// need to save out the i-th field, if it's been prepared.
  		List buffer = asMultiDistanceInstanceList(it);
  		if (buffer.size()==0) return;
  		MyMultiDistanceInstance instance = (MyMultiDistanceInstance)buffer.get(0);
  		MultiStringWrapper prototype = asMultiStringWrapper( instance.getA() );
  		for (int i=0; i<prototype.size(); i++) {
  			int j = prototype.getDistanceLearnerIndex(i);
  			innerLearners[j].setDistanceInstancePool( new JthDistanceInstanceIterator( j, buffer.iterator() ) );
  		}
  		comboSetDistanceInstancePool( buffer.iterator() );
  	}
docs: Pass the training data along to the inner learners.