Bug 123316 [Undo] - API BEHAVIOR - should always place a successfully undone/redone op on the redo/undo history
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 IOperationHistory.OPERATION_INVALID_STATUS;
		}
		
		
		IStatus status = getExecuteApproval(operation, info);
		if (!status.isOK()) {
			
			return status;
		}
		/*
		 * If we are in the middle of an open composite, then we will add this
		 * operation to the open operation rather than add the operation to the
		 * history. We will still execute it.
		 */
		boolean merging = false;
		synchronized (openCompositeLock) {
			if (openComposite != null) {
				
				
				
				if (openComposite == operation) {
					return IOperationHistory.OPERATION_INVALID_STATUS;
				}