Why does the Java CompletableFuture API uses long + TimeUnit instead of Duration?

Java 9 introduced many new methods in the CompletableFuture API that support execution timeouts.
For example:

public CompletableFuture<T> orTimeout​(long timeout, TimeUnit unit);

public CompletableFuture<T> completeOnTimeout​(T value, long timeout, TimeUnit unit);

More can be found in the documentation:

These methods take a long and a TimeUnit as arguments. Is there a specific reason it has been done so? Wouldn’t Duration be a better choice here?

public CompletableFuture<T> orTimeout​(Duration duration);

public CompletableFuture<T> completeOnTimeout​(T value, Duration duration);