code: public static <T> Collector<T, ?, Optional<T>> onlyOne(final Predicate<? super T> predicate) {
          final Collector<T, ?, Optional<T>> downstream = onlyOne();
  
          return filtering(predicate, downstream);
      }
docs: {@code DuplicatedResultException} is threw if there are more than one values are collected.
  
  @param predicate
  @return