List<Address> targets = new ArrayList<Address>(stateTransferManager.getCacheTopology().getReadConsistentHash().locateOwners(key));
// if any of the recipients has left the cluster since the command was issued, just don't wait for its response
targets.retainAll(rpcManager.getTransport().getMembers());
ResponseFilter filter = new ClusteredGetResponseValidityFilter(targets, rpcManager.getAddress());
RpcOptions options = rpcManager.getRpcOptionsBuilder(ResponseMode.WAIT_FOR_VALID_RESPONSE, false)
.responseFilter(filter).build();
Map<Address, Response> responses = rpcManager.invokeRemotely(targets, get, options);
if (!responses.isEmpty()) {
for (Response r : responses.values()) {