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/PerformChangeOperation.java
* 
	 * @return the change used by this operation or <code>null</code> if no change
	 *  has been created
	 */
	public Change getChange() {
		return fChange;
	}
	
	/**
	 * Returns the undo change of the change performed by this operation. Returns
	 * <code>null</code> if the change hasn't been performed yet or if the change
	 * doesn't provide a undo.
	 * 
	 * @return the undo change of the performed change or <code>null</code>
	 */
	public Change getUndoChange() {
		return fUndoChange;
	}
	
	/**
	 * Returns the refactoring status returned from the call <code>IChange#isValid()</code>.
	 * Returns <code>null</code> if the change has not been executed.
	 * 
	 * @return the change's validation status
	 */
	public RefactoringStatus getValidationStatus() {
		return fValidationStatus;
	}
	
	/**