code: @Override
    public void fire() {
      boolean needsReceiver = true;
      for (final AbstractRequest<?, ?> request : this.state.invocations) {
        if (request.hasReceiver()) {
          needsReceiver = false;
          break;
        }
      }
  
      if (needsReceiver) {
        this.doFire(new Receiver<Void>() {
          @Override
          public void onSuccess(final Void response) {
            // Don't care
          }
        });
      } else {
        this.doFire(null);
      }
    }
docs: Make sure there's a default receiver so errors don't get dropped. This behavior should be
  revisited when chaining is supported, depending on whether or not chained invocations can fail
  independently.