if (trace) {
log.tracef("Received request for transactions from node %s for segments %s of cache %s with topology id %d", destination, segments, cacheName, requestTopologyId);
}
final CacheTopology cacheTopology = getCacheTopology(requestTopologyId, destination, true);
final ConsistentHash readCh = cacheTopology.getReadConsistentHash();
Set<Integer> ownedSegments = readCh.getSegmentsForOwner(rpcManager.getAddress());
if (!ownedSegments.containsAll(segments)) {
segments.removeAll(ownedSegments);
throw new IllegalArgumentException("Segments " + segments + " are not owned by " + rpcManager.getAddress());
}