Bug 94400 [Undo] - After successful undo, should operation be disposed by framework if it cannot be redone?
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
boolean addToUndoStack = operation.canUndo();
			synchronized (undoRedoHistoryKey) {
				redoList.remove(operation);
				if (addToUndoStack && checkUndoLimit(operation)) {
					undoList.add(operation);
				}
			}
			
			notifyRedone(operation);
		} else {
			notifyNotOK(operation);
		}
		return status;
	}
	/**
	 * Perform the undo. All validity checks have already occurred.
	 * 
	 * @param monitor
	 * @param operation
	 */
	private IStatus doUndo(IProgressMonitor monitor, IAdaptable info,
			IUndoableOperation operation) throws ExecutionException {
		IStatus status = getUndoApproval(operation, info);
		if (status.isOK()) {
			notifyAboutToUndo(operation);
			try {
				status = operation.undo(monitor, info);
			} catch (OperationCanceledException e) {
				status = Status.CANCEL_STATUS;
			} catch (ExecutionException e) {