Bug 88838 [Undo] - API cleanup - remove IContextConsultingOperationApprover
Early on this was involved in scenarios where editors examined other operations. This is no longer used. Operation approvers generally apply to all contexts and are installed at the OperationHistory level. Until there is a concrete need for this API it should be removed. It is gratuitous at this point.
bundles/org.eclipse.core.commands/src/org/eclipse/core/commands/operations/DefaultOperationHistory.java
/*
		 * This method is used whenever there is a need to filter the undo or
		 * redo history on a particular context.  Currently there are no caches
		 * kept to optimize repeated requests for the same filter.  If benchmarks
		 * show this to be a common pattern that causes performances problems,
		 * we could implement a filtered cache here that is nullified whenever
		 * the global history changes.
		 */
		
		List filtered = new ArrayList();
		Iterator iterator = list.iterator();
		while (iterator.hasNext()) {
			IUndoableOperation operation = (IUndoableOperation) iterator.next();
			if (operation.hasContext(context)) {
				filtered.add(operation);
			}
		}
		return (IUndoableOperation[]) filtered.toArray(new IUndoableOperation[filtered.size()]);
	}
	/*
	 * Flush the redo stack of all operations that have the given context.
	 */
	void flushRedo(IUndoContext context) {
		if (DEBUG_OPERATION_HISTORY_DISPOSE) {
			System.out.print("OPERATIONHISTORY >>> Flushing redo history for ");  
			System.out.print(context);
			System.out.println();
		}
		
		Object[] filtered = filter(redoList, context);