public void rollbackLinkBlockSnapshotSessionTarget(URI systemURI,URI snapSessionURI,URI snapshotURI,String stepId){
  BlockSnapshotSession snapSession=_dbClient.queryObject(BlockSnapshotSession.class,snapSessionURI);
  StringSet linkedTargets=snapSession.getLinkedTargets();
  if ((linkedTargets == null) || (!linkedTargets.contains(snapshotURI.toString()))) {
    unlinkBlockSnapshotSessionTarget(systemURI,snapSessionURI,snapshotURI,Boolean.TRUE,stepId);
  }
 else {
    WorkflowStepCompleter.stepSucceded(stepId);
  }
}

public void rollbackLinkBlockSnapshotSessionTarget ( URI systemURI , URI snapSessionURI , URI snapshotURI , String stepId ) { BlockSnapshotSession snapSession = _dbClient . queryObject ( BlockSnapshotSession . class , snapSessionURI ) ; StringSet linkedTargets = snapSession . getLinkedTargets ( ) ; if ( ( linkedTargets == null ) || ( ! linkedTargets . contains ( snapshotURI . toString ( ) ) ) ) { unlinkBlockSnapshotSessionTarget ( systemURI , snapSessionURI , snapshotURI , Boolean . TRUE , stepId ) ; } else { WorkflowStepCompleter . stepSucceded ( stepId ) ; } }
rollback a failed attempt to link a target volume to the array snapshot .
