public static @NotNull <T, S> Processor<S> map(@NotNull Processor<? super T> processor,
                                                 @NotNull Function<? super S, ? extends T> map) {
    return o -> processor.process(map.fun(o));
  }
public static @NotNull <T, S> Processor<S> map(@NotNull Processor<? super T> processor,
                                                 @NotNull Function<? super S, ? extends T> map)