public Object getPartitionKey(Uri uri, String virtualHost, ProxyServer proxyServer) { String targetHostBaseUrl = uri.getBaseUrl(); if (proxyServer == null) { if (virtualHost == null) { return targetHostBaseUrl; } else { return new CompositePartitionKey( targetHostBaseUrl, virtualHost, null, 0, null); } } else { return new CompositePartitionKey( targetHostBaseUrl, virtualHost, proxyServer.getHost(), uri.isSecured() && proxyServer.getProxyType() == ProxyType.HTTP ? proxyServer.getSecuredPort() : proxyServer.getPort(), proxyServer.getProxyType()); } } }