/** * Completes a the given semantic composite operation. * * @param semanticCompositeOperation a semanticCompositeOperation that was executed and represents * the composite * @throws InvalidHandleException if the handle is invalid */ public void end(SemanticCompositeOperation semanticCompositeOperation) throws InvalidHandleException { checkAndCloseHandle(); semanticCompositeOperation.setClientDate(new Date()); semanticCompositeOperation.setReversed(false); semanticCompositeOperation.getSubOperations().addAll(compositeOperation.getSubOperations()); operationRecorder.endCompositeOperation(semanticCompositeOperation); }