* If there is no object yet, create one.
*
* @param server
*/
private synchronized RestClient getRestClient(Server server) {
RestClient restClient = restClientsSessionStore.get(server.getId());
// check if any values of the server have been changed,
// if yes, we need a new RestClient to make sure it will re-login to the
// changed server details
if (restClient != null && restClient.hasServerDetailsChanged(server)) {
log.debug("Server details changed, get new rest client");
restClient = null;
}
if (restClient == null) {
restClient = new RestClient(server);
restClientsSessionStore.put(server.getId(), restClient);
}
return restClient;
}