final int fanout = arguments.fanout;
final long timeout = (long) (arguments.timeout * 1000);
final Pipeline pipeline;
final LinkedList<Unit.StatisticsReducer> reducers;
{
final BlockingQueueBuilder queueBuilder = new Pipeline.ArrayBlockingQueueBuilder (buffer, false);
final Unit.UnitBuilder unitBuilder = new Unit.DefaultUnitBuilder ();
final Unit.DefaultReducerBuilder<Unit.StatisticsReducer> reducerBuilder = new Unit.DefaultReducerBuilder<Unit.StatisticsReducer> (Unit.StatisticsReducer.class);
reducers = reducerBuilder.reducers;
pipeline = Pipeline.create (queueBuilder, fanout, queueBuilder, fanout, stages, (stages > 0) ? queueBuilder : null, (stages > 0) ? fanout : 0, unitBuilder, reducerBuilder);
}