code: public LowLevelResultListener<R> registerLowLevelResultListener(LowLevelResultListener<R> listener) {
          LowLevelResultListener<R> prev = this.listener;
          if (listener == null)
              this.listener = LowLevelResultListener.none();
          else
              this.listener = listener;
          return prev;
      }
docs: Used to register a listener for the event of receiving a low-level result
  from the server side.
  
  @param listener
  listener to be registered. If null, a "none" listener will be
  set.
  @return the previously registered listener. The return value is never
  null.