code: @SuppressWarnings("unchecked")
  	@Override
  	public void initialize() {
  		// grab a handle to the hash table from the iteration broker
  		if (taskContext instanceof AbstractIterativePactTask) {
  			AbstractIterativePactTask<?, ?> iterativeTaskContext = (AbstractIterativePactTask<?, ?>) taskContext;
  			String identifier = iterativeTaskContext.brokerKey();
  			this.hashTable = (CompactingHashTable<IT1>) SolutionSetBroker.instance().get(identifier);
  		} else {
  			throw new RuntimeException("The task context of this driver is no iterative task context.");
  		}
  		
  		TypeSerializer<IT1> buildSideSerializer = hashTable.getBuildSideSerializer();
  		TypeComparator<IT1> buildSideComparator = hashTable.getBuildSideComparator().duplicate();
  		
  		probeSideSerializer = taskContext.<IT2>getInputSerializer(0).getSerializer();
  		probeSideComparator = taskContext.getInputComparator(0);
  		
  		solutionSideRecord = buildSideSerializer.createInstance();
  		
  		TypePairComparatorFactory<IT1, IT2> pairCompFactory = taskContext.getTaskConfig().getPairComparatorFactory(taskContext.getUserCodeClassLoader());
  		pairComparator = pairCompFactory.createComparator21(buildSideComparator, probeSideComparator);
  	}
docs: --------------------------------------------------------------------------------------------