unholding := tOPERATING;

currentGraphElementArray := graphPPUExecute.getCurrentNodes();

graphPPUExecute.updateCurrentNodes();

isFinished := TRUE;

FOR i:=1 TOcurrentGraphElementArray.numberOfObjects() BY 1 DO

graphElement := currentGraphElementArray.objectAtIndex(i);

operation := graphElement.operation;

IFoperation.getInverseOperation() = 'SortingPlantRecover' THEN

operationState := sortingPlant.unholding();

ELSIFoperation.getInverseOperation() = 'StampingPlantRecover' THEN

operationState := stampingPlant.unholding();

END_IF

IFoperationState = tFINISHEDTHEN

isFinished := isFinished AND TRUE;

ELSE

isFinished := FALSE;

END_IF

END_FOR

IFisFinishedANDgraphPPUExecute.recoveryIsFinished() THEN

unholding := tFINISHED;

END_IF