public static <T> @NotNull Pass<T> create(@NotNull Consumer<? super T> consumer) {
    return new Pass<T>() {
      @Override
      public void pass(T o) {
        consumer.accept(o);
      }
    };
  }
public static <T> @NotNull Pass<T> create(@NotNull Consumer<? super T> consumer)