code: public void compute() 
  	{
  		if (!computable) {
  			throw new RuntimeException("can't re-'compute' experiment results after a 'restore'");
  		}
  		expt = new MatchExpt[blockers.size()][learners.size()][datasets.size()];
  		for (int i=0; i<blockers.size(); i++) {
  			Blocker blocker = (Blocker)blockers.get(i);
  			for (int j=0; j<learners.size(); j++) {
  				StringDistanceLearner distance = (StringDistanceLearner)learners.get(j);
  				for (int k=0; k<datasets.size(); k++) {
  					MatchData dataset = (MatchData)datasets.get(k);
  					expt[i][j][k] = new MatchExpt(dataset,distance,blocker);
  				}
  			}
  		}
  	}
docs: Compute learners.