private static boolean await(Future<?> future, Duration duration) {
    try {
      future.get(duration.toNanos(), TimeUnit.NANOSECONDS);
      return true;
    } catch (InterruptedException e) {
      Thread.currentThread().interrupt();
      return throwFatalException(e);
    } catch (ExecutionException e) {
      return throwFatalException(e);
    } catch (TimeoutException e) {
      return false;
    }
  }
Returns true if the future is done, false if {@code duration} has elapsed.
planetiler-core/src/main/java/com/onthegomap/planetiler/stats/ProgressLoggers.java