Bug 89031 [Undo/Redo] IWorkbench#getOperationSupport() marked experimental
IWorkbench#getOperationSupport() marked experimental
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
/*
	 * A history notification is about to be sent.  Notify the operation before hand
	 * if it implements IHistoryNotificationAwareOperation.
	 * 
	 * This method is provided for legacy undo frameworks that rely on notification
	 * from their undo managers before any listeners are notified about changes
	 * in the operation.
	 */
	private void preNotifyOperation(IUndoableOperation operation, OperationHistoryEvent event) {
		if (operation instanceof IHistoryNotificationAwareOperation) {
			try {
				((IHistoryNotificationAwareOperation)operation).aboutToNotify(event);
			} catch (Exception e) {
				handleNotificationException(e);
			}
		}
	}
	
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.core.commands.operations.IOperationHistory#redo(org.eclipse.core.commands.operations.IUndoContext, org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
	 */
	public IStatus redo(IUndoContext context, IProgressMonitor monitor, IAdaptable info) throws ExecutionException{
		Assert.isNotNull(context);
		IUndoableOperation operation = getRedoOperation(context);
		
		if (operation == null)
			return NOTHING_TO_REDO_STATUS;