private Volume findRPVPlexVolumeWithOrginalAssets(StringSet backingVolumeURIs){
  Volume volWithOriginalAssets=null;
  for (  String backingVolumeURI : backingVolumeURIs) {
    Volume backingVolume=_dbClient.queryObject(Volume.class,URI.create(backingVolumeURI));
    if (backingVolume != null && backingVolume.getVirtualPool() != null) {
      VirtualPool vpool=_dbClient.queryObject(VirtualPool.class,backingVolume.getVirtualPool());
      if (VirtualPool.isRPVPlexProtectHASide(vpool)) {
        volWithOriginalAssets=backingVolume;
        break;
      }
    }
  }
  return volWithOriginalAssets;
}

private Volume findRPVPlexVolumeWithOrginalAssets ( StringSet backingVolumeURIs ) { Volume volWithOriginalAssets = null ; for ( String backingVolumeURI : backingVolumeURIs ) { Volume backingVolume = _dbClient . queryObject ( Volume . class , URI . create ( backingVolumeURI ) ) ; if ( backingVolume != null && backingVolume . getVirtualPool ( ) != null ) { VirtualPool vpool = _dbClient . queryObject ( VirtualPool . class , backingVolume . getVirtualPool ( ) ) ; if ( VirtualPool . isRPVPlexProtectHASide ( vpool ) ) { volWithOriginalAssets = backingVolume ; break ; } } } return volWithOriginalAssets ; }
find the volume with the original requested assets ( original virtual pool and virtual array ) and make sure that the rp vplex source virtual volume has those set . this is what is reflected in the ui . the reason that they could be different is because of the possibility that the user chose to use the ha virtual pool / virtual array as the leg connected to rp .
