internal ForEach(IEnumerable <T> collection, MethodProcessor <T> method, int initialDegreeOfParallelism, AsyncExceptionHandler <T> exceptionHandler) { _collection = collection; _method = method; _exceptionHandler = exceptionHandler; _gate = new AsyncCounterGate(initialDegreeOfParallelism); }