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
public IStatus execute(IUndoableOperation operation, IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
		Assert.isNotNull(operation);
		
		
		if (!operation.canExecute()) {
			return OPERATION_INVALID_STATUS;
		}
		
		/*
		 * If we are in the middle of an open batch, then we will add this operation's contexts
		 * to the open operation rather than add the operation to the history.  We will still
		 * execute it, but will dispose of it afterward.  Operations triggered during an operation
		 * are assumed to be model-related and we assume the undo of this related operation will be
		 * triggered automatically by the undo of the batching operation.
		 */
		boolean merging = false;
		if (openComposite != null) {
			
			if (openComposite == operation) {
				return OPERATION_INVALID_STATUS;
			}
			openComposite.add(operation);
			merging = true;
		}
		/*
		 * Execute the operation
		 */
		if (!merging) notifyAboutToExecute(operation);
		IStatus status;
		try {