public DelegateProcessor(Publisher<OUT> downstream, Subscriber<IN> upstream) {
      Assert.notNull(upstream, "Upstream must not be null");
      Assert.notNull(downstream, "Downstream must not be null");

      this.downstream = downstream;
      this.upstream = upstream;
    }
  /**
   * Creates a new {@code ConsumerFilteringEventRouter} that will use the {@code filter} to filter
   * consumers.
   *
   * @param filter The filter to use. Must not be {@code null}.
   * @throws IllegalArgumentException if {@code filter} or {@code consumerInvoker} is null.
   */
  public ConsumerFilteringRouter(Filter filter) {
    Assert.notNull(filter, "filter must not be null");

    this.filter = filter;
  }