class RpcFuture implements AsyncAwareFuture<T> {

    @Override
    public T get() throws InterruptedException {
        latch.await();
        if (response != null && response.getException() != null) {
            throw new RpcException(response.getException());
        }
        if (response == null) {
            throw new RpcException(RpcException.TIMEOUT_EXCEPTION);
        }
        setRpcContext();
        return (T) response.getResult();
    }

    public  RpcFuture();
    public  RpcFuture(long correlationId);

}