}
protected ClientResponse makeRequest(String resource, Object requestObj, RequestVerb verb) {
List<Server> penalized = new ArrayList<Server>();
Client client = Client.create();
ClientResponse response = null;
// Go through queue and get servers in increasing order of penalty
while (lipstickServers.size() > 0) {
String serviceUrl = getServiceUrl();
LOG.info("Trying Lipstick server "+serviceUrl);
String resourceUrl = serviceUrl + resource;
WebResource webResource = client.resource(resourceUrl);
response = sendRequest(webResource, requestObj, verb);
if (response != null) {
rebuildServers(penalized);
return response;
} else {