private void populateVolumeRecommendations(VirtualPoolCapabilityValuesWrapper capabilities,VirtualPool sourceVolumeVPool,Volume sourceVolume,String taskId,TaskList taskList,Integer volumeCount,int volumeCounter,String volumeLabel,List<Volume> preparedVolumes,List<Recommendation> volumeRecommendations){
  List<Recommendation> currentRecommendation=new ArrayList<Recommendation>();
  VirtualPool mirrorVPool=sourceVolumeVPool;
  if (!isNullOrEmpty(sourceVolumeVPool.getMirrorVirtualPool())) {
    URI mirrorPoolUri=URI.create(sourceVolumeVPool.getMirrorVirtualPool());
    if (!URIUtil.isNull(mirrorPoolUri)) {
      mirrorVPool=_dbClient.queryObject(VirtualPool.class,mirrorPoolUri);
    }
  }
  for (int i=0; i < capabilities.getResourceCount(); i++) {
    VolumeRecommendation volumeRecommendation=new VolumeRecommendation(VolumeRecommendation.VolumeType.BLOCK_VOLUME,sourceVolume.getCapacity(),sourceVolumeVPool,sourceVolume.getVirtualArray());
    volumeRecommendation.setId(sourceVolume.getId());
    volumeRecommendation.addStoragePool(sourceVolume.getPool());
    currentRecommendation.add(volumeRecommendation);
  }
  VirtualArray vArray=_dbClient.queryObject(VirtualArray.class,sourceVolume.getVirtualArray());
  _scheduler.getRecommendationsForMirrors(vArray,mirrorVPool,capabilities,currentRecommendation);
  _scheduler.prepareRecommendedVolumes(null,taskId,taskList,null,null,sourceVolumeVPool,volumeCount,currentRecommendation,null,volumeCounter,volumeLabel,preparedVolumes,capabilities,false);
  volumeRecommendations.addAll(currentRecommendation);
}

private void populateVolumeRecommendations ( VirtualPoolCapabilityValuesWrapper capabilities , VirtualPool sourceVolumeVPool , Volume sourceVolume , String taskId , TaskList taskList , Integer volumeCount , int volumeCounter , String volumeLabel , List < Volume > preparedVolumes , List < Recommendation > volumeRecommendations ) { List < Recommendation > currentRecommendation = new ArrayList < Recommendation > ( ) ; VirtualPool mirrorVPool = sourceVolumeVPool ; if ( ! isNullOrEmpty ( sourceVolumeVPool . getMirrorVirtualPool ( ) ) ) { URI mirrorPoolUri = URI . create ( sourceVolumeVPool . getMirrorVirtualPool ( ) ) ; if ( ! URIUtil . isNull ( mirrorPoolUri ) ) { mirrorVPool = _dbClient . queryObject ( VirtualPool . class , mirrorPoolUri ) ; } } for ( int i = 0 ; i < capabilities . getResourceCount ( ) ; i ++ ) { VolumeRecommendation volumeRecommendation = new VolumeRecommendation ( VolumeRecommendation . VolumeType . BLOCK_VOLUME , sourceVolume . getCapacity ( ) , sourceVolumeVPool , sourceVolume . getVirtualArray ( ) ) ; volumeRecommendation . setId ( sourceVolume . getId ( ) ) ; volumeRecommendation . addStoragePool ( sourceVolume . getPool ( ) ) ; currentRecommendation . add ( volumeRecommendation ) ; } VirtualArray vArray = _dbClient . queryObject ( VirtualArray . class , sourceVolume . getVirtualArray ( ) ) ; _scheduler . getRecommendationsForMirrors ( vArray , mirrorVPool , capabilities , currentRecommendation ) ; _scheduler . prepareRecommendedVolumes ( null , taskId , taskList , null , null , sourceVolumeVPool , volumeCount , currentRecommendation , null , volumeCounter , volumeLabel , preparedVolumes , capabilities , false ) ; volumeRecommendations . addAll ( currentRecommendation ) ; }
populate the recommendations for the given sourcevolume
