Bug 105697 [Undo] - OperationHistoryEvent - cannot distinguish between canceled event or failed event
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
synchronized (undoRedoHistoryLock) {
			int index = undoList.indexOf(operation);
			if (index > -1) {
				inUndo = true;
				undoList.remove(operation);
				
				ArrayList allContexts = new ArrayList(replacements.length);
				for (int i = 0; i < replacements.length; i++) {
					IUndoContext[] opContexts = replacements[i].getContexts();
					for (int j = 0; j < opContexts.length; j++) {
						allContexts.add(opContexts[j]);
					}
					undoList.add(index, replacements[i]);
					
				}
				
				
				for (int i = 0; i < allContexts.size(); i++) {
					IUndoContext context = (IUndoContext) allContexts.get(i);
					forceUndoLimit(context, getLimit(context));
				}
			}
		}
		if (inUndo) {		
			
			internalRemove(operation);
			for (int i = 0; i < replacements.length; i++) {
				notifyAdd(replacements[i]);
			} 
			return;