class DiscoveryFutureResolver {
    public static <T> T call(ExecutorService executorService, DiscoveryFutureCallback<T> discoveryFutureCallback) throws InterruptedException, ExecutionException {<FILL_FUNCTION_BODY>}
}

        Future<T> future = executorService.submit(new Callable<T>() {
            @Override
            public T call() throws Exception {
                return discoveryFutureCallback.callback();
            }
        });

        return future.get();
    
<no_super_class>