FutureProxy<?> f;
if (serializedSocket.getSerializedFireStage() != null) {
final SettableFuture<Response> future = SettableFuture.create();
serializedSocket.getSerializedFireStage().enqueue(encodedPayload, future);
f = new FutureProxy(serializedSocket, future);
} else {
f = new FutureProxy(serializedSocket, serializedSocket.directWrite(encodedPayload));
}
transport.future(f);
return f;
}
return rootFuture.finishOrThrowException();