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
if (openComposite != null && openComposite != operation) {
				
				if (DEBUG_OPERATION_HISTORY_UNEXPECTED) {
					Tracing.printTrace("OPERATIONHISTORY", 
							"Open operation called while another operation is open.  old: " 
									+ openComposite + "; new:  " + operation); 
				}
				throw new IllegalStateException(
						"Cannot open an operation while one is already open"); 
			}
			openComposite = operation;
		}
		if (DEBUG_OPERATION_HISTORY_OPENOPERATION) {
			Tracing.printTrace("OPERATIONHISTORY", "Opening operation " 
					+ openComposite);
		}
		if (mode == EXECUTE) {
			notifyAboutToExecute(openComposite);
		}
	}
	/*
	 * (non-Javadoc)
	 * 
	 * @see org.eclipse.core.commands.operations.IOperationHistory#closeOperation(boolean,
	 *      boolean)
	 */
	public void closeOperation(boolean operationOK, boolean addToHistory,
			int mode) {
		ICompositeOperation endedComposite = null;
		synchronized (openCompositeLock) {