code: public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit) {
          if (unit == null)
              throw new NullPointerException();
          if (result == null)
              whenComplete(new Canceller(Delayer.delay(new Timeout(this),
                                                       timeout, unit)));
          return this;
      }
docs: Android-changed: hidden