code: public IterativeDataSet<T> registerAggregator(String name, Class<? extends Aggregator<?>> aggregator) {
  		this.aggregators.registerAggregator(name, aggregator);
  		return this;
  	}
docs: Registers an {@link Aggregator} for the iteration. Aggregators can be used to maintain simple statistics during the
  iteration, such as number of elements processed. The aggregators compute global aggregates: After each iteration step,
  the values are globally aggregated to produce one aggregate that represents statistics across all parallel instances.
  The value of an aggregator can be accessed in the next iteration.
  <p>
  Aggregators can be accessed inside a function via the {@link AbstractFunction#getIterationRuntimeContext()} method.
  
  @param name The name under which the aggregator is registered.
  @param aggregator The aggregator class.
  
  @return The IterativeDataSet itself, to allow chaining function calls.