private void filterOutLastReadBlobs(List<CloudBlobMetadata> cloudBlobMetadataList, Set<String> lastReadBlobIds,
      long lastUpdateTime) {
    ListIterator<CloudBlobMetadata> iterator = cloudBlobMetadataList.listIterator();
    int numRemovedBlobs = 0;
    while (iterator.hasNext()) {
      CloudBlobMetadata cloudBlobMetadata = iterator.next();
      if (numRemovedBlobs == lastReadBlobIds.size() || cloudBlobMetadata.getLastUpdateTime() > lastUpdateTime) {
        break;
      }
      if (lastReadBlobIds.contains(cloudBlobMetadata.getId())) {
        iterator.remove();
        numRemovedBlobs++;
      }
    }
  }
Filter out {@link CloudBlobMetadata} objects from lastUpdateTime ordered {@code cloudBlobMetadataList} whose
lastUpdateTime is {@code lastUpdateTime} and id is in {@code lastReadBlobIds}.
@param cloudBlobMetadataList list of {@link CloudBlobMetadata} objects to filter out from.
@param lastReadBlobIds set if blobIds which need to be filtered out.
@param lastUpdateTime lastUpdateTime of the blobIds to filter out.
ambry-cloud/src/main/java/com/github/ambry/cloud/azure/CosmosUpdateTimeBasedReplicationFeed.java