code: @Override
  	protected void initialize() throws Exception {
  		super.initialize();
  
  		// check if the driver is resettable
  		if (this.driver instanceof ResettablePactDriver) {
  			final ResettablePactDriver<?, ?> resDriver = (ResettablePactDriver<?, ?>) this.driver;
  			// make sure that the according inputs are not reseted
  			for (int i = 0; i < resDriver.getNumberOfInputs(); i++) {
  				if (resDriver.isInputResettable(i)) {
  					excludeFromReset(i);
  				}
  			}
  		}
  		
  		TaskConfig config = getLastTasksConfig();
  		isWorksetIteration = config.getIsWorksetIteration();
  		isWorksetUpdate = config.getIsWorksetUpdate();
  		isSolutionSetUpdate = config.getIsSolutionSetUpdate();
  
  		if (isWorksetUpdate) {
  			worksetBackChannel = BlockingBackChannelBroker.instance().getAndRemove(brokerKey());
  
  			if (isWorksetIteration) {
  				worksetAggregator = getIterationAggregators().getAggregator(WorksetEmptyConvergenceCriterion.AGGREGATOR_NAME);
  
  				if (worksetAggregator == null) {
  					throw new RuntimeException("Missing workset elements count aggregator.");
  				}
  			}
  		}
  	}
docs: --------------------------------------------------------------------------------------------