private void sendRequests(ParanoidDurabilityOperationTracker tracker, int numRequestsExpected) {
    int sent = 0;
    Iterator<ReplicaId> replicaIdIterator = tracker.getReplicaIterator();
    while (replicaIdIterator.hasNext()) {
      ReplicaId nextReplica = replicaIdIterator.next();
      assertNotNull("There should be a replica to send a request to", nextReplica);
      assertFalse("Replica that was used for a request returned by iterator again: " + nextReplica,
          repetitionTracker.contains(nextReplica));
      inflightReplicas.offer(nextReplica);
      replicaIdIterator.remove();
      repetitionTracker.add(nextReplica);
      sent++;
    }
    assertEquals("Did not send expected number of requests: " + inflightReplicas, numRequestsExpected, sent);
  }
Send requests to all replicas provided by the {@link ParanoidDurabilityOperationTracker#getReplicaIterator()}
@param tracker the {@link ParanoidDurabilityOperationTracker} that provides replicas.
@param numRequestsExpected the number of requests expected to be sent out.
ambry-router/src/test/java/com/github/ambry/router/ParanoidDurabilityOperationTrackerTest.java