code: public EventHandlerGroup<T> handleEventsWith(final EventProcessor... processors)
      {
          for (final EventProcessor processor : processors)
          {
              consumerRepository.add(processor);
          }
  
          final Sequence[] sequences = new Sequence[processors.length];
          for (int i = 0; i < processors.length; i++)
          {
              sequences[i] = processors[i].getSequence();
          }
  
          ringBuffer.addGatingSequences(sequences);
  
          return new EventHandlerGroup<>(this, consumerRepository, Util.getSequencesFor(processors));
      }
docs: <p>Set up custom event processors to handle events from the ring buffer. The Disruptor will
  automatically start this processors when {@link #start()} is called.</p>
  
  <p>This method can be used as the start of a chain. For example if the processor <code>A</code> must
  process events before handler <code>B</code>:</p>
  <pre><code>dw.handleEventsWith(A).then(B);</code></pre>
  
  @param processors the event processors that will process events.
  @return a {@link EventHandlerGroup} that can be used to chain dependencies.