docs: @Override
      public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException {
          if (this.m_coordinationLatch.await(timeout, unit) == false) {
              throw new TimeoutException();
          }
  
          if (m_pendingException != null) {
              throw m_pendingException;
          }
  
          return m_defaultFuture.get(timeout, unit);
      }