public String addStepsForRestoreFromFullcopy(Workflow workflow,String waitFor,URI storage,List<URI> fullcopies,String opId,CloneRestoreCompleter completer) throws InternalException {
  Volume firstFullCopy=getDataObject(Volume.class,fullcopies.get(0),_dbClient);
  if (!firstFullCopy.isVPlexVolume(_dbClient)) {
    return waitFor;
  }
  BlockObject firstSource=BlockObject.fetch(_dbClient,firstFullCopy.getAssociatedSourceVolume());
  if (!NullColumnValueGetter.isNullURI(firstSource.getConsistencyGroup())) {
    completer.addConsistencyGroupId(firstSource.getConsistencyGroup());
  }
  StorageSystem vplexSystem=_dbClient.queryObject(StorageSystem.class,storage);
  Workflow.Method restoreFromFullcopyMethod=new Workflow.Method(RESTORE_FROM_FULLCOPY_METHOD_NAME,storage,fullcopies);
  waitFor=workflow.createStep(RESTORE_FROM_FULLCOPY_STEP,"Restore volumes from full copies",waitFor,storage,vplexSystem.getSystemType(),VPlexDeviceController.class,restoreFromFullcopyMethod,null,null);
  _log.info("Created workflow step to restore VPLEX volume from full copies");
  return waitFor;
}

public String addStepsForRestoreFromFullcopy ( Workflow workflow , String waitFor , URI storage , List < URI > fullcopies , String opId , CloneRestoreCompleter completer ) throws InternalException { Volume firstFullCopy = getDataObject ( Volume . class , fullcopies . get ( 0 ) , _dbClient ) ; if ( ! firstFullCopy . isVPlexVolume ( _dbClient ) ) { return waitFor ; } BlockObject firstSource = BlockObject . fetch ( _dbClient , firstFullCopy . getAssociatedSourceVolume ( ) ) ; if ( ! NullColumnValueGetter . isNullURI ( firstSource . getConsistencyGroup ( ) ) ) { completer . addConsistencyGroupId ( firstSource . getConsistencyGroup ( ) ) ; } StorageSystem vplexSystem = _dbClient . queryObject ( StorageSystem . class , storage ) ; Workflow . Method restoreFromFullcopyMethod = new Workflow . Method ( RESTORE_FROM_FULLCOPY_METHOD_NAME , storage , fullcopies ) ; waitFor = workflow . createStep ( RESTORE_FROM_FULLCOPY_STEP , "Restore volumes from full copies" , waitFor , storage , vplexSystem . getSystemType ( ) , VPlexDeviceController . class , restoreFromFullcopyMethod , null , null ) ; _log . info ( "Created workflow step to restore VPLEX volume from full copies" ) ; return waitFor ; }
add steps to restore full copy
