code: public <D> Map<Boolean, D> partitioningBy(Predicate<? super T> predicate, Collector<? super T, ?, D> downstream) {
          return collect(MoreCollectors.partitioningBy(predicate, downstream));
      }
docs: Returns a {@code Map<Boolean, D>} which contains two partitions of the
  input elements according to a {@code Predicate}, which are reduced
  according to the supplied {@code Collector}.
  
  <p>
  This is a <a href="package-summary.html#StreamOps">terminal</a>
  operation. The operation may short-circuit if the downstream collector is
  <a
  href="package-summary.html#ShortCircuitReduction">short-circuiting</a>.
  
  <p>
  There are no guarantees on the type, mutability, serializability, or
  thread-safety of the {@code Map} returned.
  
  @param <D> the result type of the downstream reduction
  @param predicate a predicate used for classifying input elements
  @param downstream a {@code Collector} implementing the downstream
  reduction
  @return a {@code Map<Boolean, List<T>>} which {@link Boolean#TRUE} key is
  mapped to the result of downstream {@code Collector} collecting
  the the stream elements for which predicate is true and
  {@link Boolean#FALSE} key is mapped to the result of downstream
  {@code Collector} collecting the other stream elements.
  
  @see #partitioningBy(Predicate)
  @see Collectors#partitioningBy(Predicate, Collector)
  @since 0.2.2