code: @Override
    public void onNext(final T value) {
      beforeOnNext();
      executor.submit(new Runnable() {
  
        @Override
        public void run() {
          observer.onNext(value);
          afterOnNext();
        }
      });
    }
docs: Provides the observer with the new value.
  
  @param value the new value