public <T extends ReplicableCommand> BlockedRequests expectCommands(Class<T> expectedCommandClass, Collection<Address> targets) { Map<Address, BlockedRequest<T>> requests = new HashMap<>(); for (int i = 0; i < targets.size(); i++) { BlockedRequest request = expectCommand(expectedCommandClass); requests.put(request.getTarget(), request); } assertEquals(new HashSet<>(targets), requests.keySet()); return new BlockedRequests(requests); }