public static List<URI> ensureOneSnapshotPerReplicationGroup(List<URI> snapshotURIs,DbClient dbClient){
  List<URI> filteredSnapshotURIs=new ArrayList<>();
  Set<String> replicationGroups=new HashSet<>();
  Iterator<BlockSnapshot> snapshotIter=dbClient.queryIterativeObjects(BlockSnapshot.class,snapshotURIs);
  while (snapshotIter.hasNext()) {
    BlockSnapshot snapshot=snapshotIter.next();
    String repGrpInstance=snapshot.getReplicationGroupInstance();
    if (replicationGroups.contains(repGrpInstance)) {
      continue;
    }
    replicationGroups.add(repGrpInstance);
    filteredSnapshotURIs.add(snapshot.getId());
  }
  return filteredSnapshotURIs;
}

public static List < URI > ensureOneSnapshotPerReplicationGroup ( List < URI > snapshotURIs , DbClient dbClient ) { List < URI > filteredSnapshotURIs = new ArrayList < > ( ) ; Set < String > replicationGroups = new HashSet < > ( ) ; Iterator < BlockSnapshot > snapshotIter = dbClient . queryIterativeObjects ( BlockSnapshot . class , snapshotURIs ) ; while ( snapshotIter . hasNext ( ) ) { BlockSnapshot snapshot = snapshotIter . next ( ) ; String repGrpInstance = snapshot . getReplicationGroupInstance ( ) ; if ( replicationGroups . contains ( repGrpInstance ) ) { continue ; } replicationGroups . add ( repGrpInstance ) ; filteredSnapshotURIs . add ( snapshot . getId ( ) ) ; } return filteredSnapshotURIs ; }
from the passed list group snapshot uris , filters the list so that only one snapshot per replication group is in the returned , filtered list .
