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 addToRedoStack = operation.canRedo();
			synchronized (undoRedoHistoryKey) {
				undoList.remove(operation);
				if (addToRedoStack && checkRedoLimit(operation)) {
					redoList.add(operation);
				}
			}
			
			
			notifyUndone(operation);
		} else {
			notifyNotOK(operation);
		}
		return status;
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.core.commands.operations.IOperationHistory#execute(org.eclipse.core.commands.operations.IUndoableOperation,
	 *      org.eclipse.core.runtime.IProgressMonitor,
	 *      org.eclipse.core.runtime.IAdaptable)
	 */
	public IStatus execute(IUndoableOperation operation,
			IProgressMonitor monitor, IAdaptable info)
			throws ExecutionException {
		Assert.isNotNull(operation);
		
		if (!operation.canExecute()) {
			return IOperationHistory.OPERATION_INVALID_STATUS;
		}