@Override
  public TransportResponse<T> get() throws InterruptedException, ExecutionException {
    return _futureCallback.get();
  }
@Test(timeOut = 1000L)
  public void testGet() throws Exception
  {
    FutureTransportCallback<Object> futureTransportCallback = new FutureTransportCallback<>();

    // At this time the future is neither done or cancelled
    Assert.assertFalse(futureTransportCallback.isDone());
    Assert.assertFalse(futureTransportCallback.isCancelled());

    futureTransportCallback.onResponse(TransportResponseImpl.success(ITEM));

    // At this time the future is done but not cancelled
    Assert.assertTrue(futureTransportCallback.isDone());
    Assert.assertFalse(futureTransportCallback.isCancelled());

    TransportResponse<Object> transportResponse = futureTransportCallback.get();

    Assert.assertNotNull(transportResponse);
    Assert.assertNotNull(transportResponse.getResponse());
    Assert.assertSame(transportResponse.getResponse(), ITEM);
  }