code: public static <T> BinaryOperator<T> throwingMerger() {
          return (u, v) -> {
              throw new IllegalArgumentException(String.format("Duplicate key: value %s was already present now %s is added", u, v));
          };
      }
docs: Throws is same key is produced.
  @param <T> type of values.
  @throws IllegalArgumentException always