static final List<SaveOperation> defaultSaveOperations = createDefaultSaveOperations();
private static List<SaveOperation> createDefaultSaveOperations() {
SaveOperation[] operations = new SaveOperation[4];
operations[0] = new CheckUnpersistableVariablesOperation();
// first, save the execution data (process instance)
operations[1] = new HibernateSaveOperation();
// then, insert the logs, which may have references to the execution data
operations[2] = new SaveLogsOperation();
// last, save subprocess instances in cascade