I just had a productive afternoon blown out of the water.
For reasons I haven't investigated yet, I had converted a VW interface spec to VAST Common Widgets form. I had thought I was saving the method as I went.
Then I started refactoring temps to instance variables. If I had worked from right to left, I would have been safe. I chose to work from left to right, since that order reflected the order of the code in the method and a desire to have the instance variables in that order.
The refactoring didn't care that I had unsaved changes in the browser. I had the misfortune of selecting a temporary variable that had been saved in a compile edition. If I had worked from right to left, the refactoring would have complained that the unsaved temporary variable declaration wasn't a valid temporary variable name.
The refactoring operates on the saved method source, not the code in the browser window.
All my unsaved changes were quietly / silently tossed away.
Be careful that you don't make the same mistake. It's more than frustrating!
Before refactoring, especially in a method that you have been working on, click away and back, to ensure the source changes have been saved. Then do the refactoring work.