@Override
public T execute() {
int retryCount = 0;
Set<SocketAddress> failedServers = null;
while (shouldRetry(retryCount)) {
Transport transport = null;
try {
// Transport retrieval should be retried
transport = getTransport(retryCount, failedServers);
return executeOperation(transport);
} catch (TransportException te) {