code: @Weight(Weight.Unit.NORMAL)
    public static Disposable defer(@Nonnull final Disposable disposable) {
      assertNotNull(disposable);
      defer(new Deferred() {
        private static final long serialVersionUID = 7940162959962038010L;
        private final Disposable value = disposable;
  
        @Override
        public void executeDeferred() throws Exception {
          this.value.dispose();
        }
      });
      return disposable;
    }
docs: Defer execution of some disposable object.
  
  @param disposable some disposable object to be processed.
  @return the same object from arguments
  @throws AssertionError if the disposable object is null
  @see Disposable