# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /Users/beci/source/jet-main # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: refactoring.api/src/org/netbeans/modules/refactoring/spi/impl/UndoableWrapper.java --- refactoring.api/src/org/netbeans/modules/refactoring/spi/impl/UndoableWrapper.java Base (BASE) +++ refactoring.api/src/org/netbeans/modules/refactoring/spi/impl/UndoableWrapper.java Locally Modified (Based On LOCAL) @@ -42,6 +42,7 @@ package org.netbeans.modules.refactoring.spi.impl; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicBoolean; import javax.swing.text.Document; @@ -161,12 +162,19 @@ @Override public boolean addEdit(UndoableEdit ue) { - if (ue instanceof UndoableEditDelegate) { - return inner.addEdit(((UndoableEditDelegate) ue).unwrap()); + if (ue instanceof List) { + List listEdit = (List) ue; + UndoableEdit topEdit = listEdit.get(listEdit.size() - 1); + // Check that there's only original document's edit and the wrapping refactoring edit + boolean refatoringEditOnly = listEdit.size() == 2; + if (refatoringEditOnly && topEdit instanceof UndoableEditDelegate) { + inner.addEdit(listEdit.get(0)); + return true; } return false; - //return delegate.addEdit(ue); } + return false; + } public UndoableEdit unwrap() { return delegate;