docs: public <T> CompletableFuture<Entry<T>> watchFile(Repository repo, Revision lastKnownRevision,
                                                       Query<T> query, long timeoutMillis) {
          final CompletableFuture<Entry<T>> result = repo.watch(lastKnownRevision, query);
          if (result.isDone()) {
              return result;
          }
  
          scheduleTimeout(result, timeoutMillis);
          return result;
      }