@Override
  public Iterator<ReplicaId> getReplicaIterator() {
    replicaIterator = replicaPool.iterator();
    return otIterator;
  }
Constructs an {@link AdaptiveOperationTracker}
@param routerConfig The {@link RouterConfig} containing the configs for operation tracker.
@param routerMetrics The {@link NonBlockingRouterMetrics} that contains histograms used by this operation tracker.
@param routerOperation The {@link RouterOperation} which {@link AdaptiveOperationTracker} is associated with.
@param partitionId The partition on which the operation is performed.
@param originatingDcName name of originating DC whose replicas should be tried first.
@param blobId {@link BlobId}, if available, for the operation.
@param time the {@link Time} instance to use.
ambry-router/src/main/java/com/github/ambry/router/AdaptiveOperationTracker.java