protected InternalCacheEntry retrieveFromRemoteSource(Object key, InvocationContext ctx, boolean acquireRemoteLock, FlagAffectedCommand command) {
GlobalTransaction gtx = acquireRemoteLock ? ((TxInvocationContext)ctx).getGlobalTransaction() : null;
ClusteredGetCommand get = cf.buildClusteredGetCommand(key, command.getFlags(), acquireRemoteLock, gtx);
List<Address> targets = Collections.singletonList(getPrimaryOwner());
ResponseFilter filter = new ClusteredGetResponseValidityFilter(targets, rpcManager.getAddress());
Map<Address, Response> responses = rpcManager.invokeRemotely(targets, get, ResponseMode.WAIT_FOR_VALID_RESPONSE,
cacheConfiguration.clustering().sync().replTimeout(), true, filter, false);
if (!responses.isEmpty()) {
for (Response r : responses.values()) {