@Override
    public Result get(long timeout, TimeUnit timeunit) {
        return getIfAvailable(timeout, timeunit)
                .orElseGet(() -> new Result(getQuery(), createTimeoutError()));
    }
Returns a Result containing the hits returned from this source, or an error otherwise.
This blocks for at most the given timeout and returns a Result containing a timeout error
if the result is not available within this time.
container-search/src/main/java/com/yahoo/search/searchchain/FutureResult.java