Bug 77649 'Refactor -> Undo' enabled after consecutive change
I200411022000 Having: package test2; public class A { public C c= new C(); public void foo() { } } package test2; public class B { public void bar() { new A().foo(); } } package test2; public class C { } and: - open all 3 CUs - move A#foo() to C - remove 'a' from 'new A().c.foo(a);' in B - save B - Refactor -> Undo -> lost parenthesis in B because undo did no longer match
org.eclipse.ltk.core.refactoring/src/org/eclipse/ltk/core/refactoring/IUndoManager.java
* @return the top most redo name. Returns <code>null</code> if there 
	 * are no any changes to redo.
	 */
	public String peekRedoName();
	
	/**
	 * Redo the top most redo change.
	 * 
	 * @param query a proceed query to decide how to proceed if the validation
	 *  checking of the redo change to perform returns a non OK status. If
	 *  <code>null</code> is passed in the the undo proceeds if the status
	 *  is not a fatal error.
	 * @param pm a progress monitor to report progress during performing
	 *  the redo change
	 * 
	 * @throws CoreException if performing the redo caused an exception
	 */	
	public void performRedo(IValidationCheckResultQuery query, IProgressMonitor pm) throws CoreException;
	
	/**
	 * Flushes the undo manager's undo and redo stacks.
	 */	
	public void flush();
	
	/**
	 * Shut down the undo manager. 
	 */
	public void shutdown();
}