case OperationHistoryEvent.UNDONE:
} case OperationHistoryEvent.UNDONE: {
		public void historyNotification(final OperationHistoryEvent event) {			IUndoableOperation operation= event.getOperation();			if (operation instanceof TriggeredOperations)				operation= ((TriggeredOperations) operation).getTriggeringOperation();			UndoableOperation2ChangeAdapter adapter= null;			if (operation instanceof UndoableOperation2ChangeAdapter)				adapter= (UndoableOperation2ChangeAdapter) operation;			if (adapter != null) {				final Change change= adapter.getChange();				switch (event.getEventType()) {					case OperationHistoryEvent.ABOUT_TO_EXECUTE:						fDescriptor= null;						final ChangeDescriptor changeDescriptor= change.getDescriptor();						if (changeDescriptor instanceof RefactoringChangeDescriptor) {							final RefactoringDescriptor refactDesc= ((RefactoringChangeDescriptor) changeDescriptor).getRefactoringDescriptor();							if (!refactDesc.getID().equals(RefactoringDescriptor.ID_UNKNOWN))								fDescriptor= refactDesc;							fireAboutToPerformEvent(new RefactoringDescriptorProxyAdapter(refactDesc));						}						break;					case OperationHistoryEvent.DONE:						if (fDescriptor != null) {							if (!fDescriptor.getID().equals(RefactoringDescriptor.ID_UNKNOWN)) {								if (fOverrideTimeStamp >= 0)									fDescriptor.setTimeStamp(fOverrideTimeStamp);								else									fDescriptor.setTimeStamp(System.currentTimeMillis());							}							fUndoStack.push(fDescriptor);							fireRefactoringPerformedEvent(new RefactoringDescriptorProxyAdapter(fDescriptor));							fDescriptor= null;						}						break;					case OperationHistoryEvent.ABOUT_TO_UNDO:						fireAboutToUndoEvent(new RefactoringDescriptorProxyAdapter(fUndoStack.peek()));						break;					case OperationHistoryEvent.UNDONE:						fRedoQueue.addFirst(fUndoStack.peek());						fUndoStack.pop();						fireRefactoringUndoneEvent(new RefactoringDescriptorProxyAdapter((RefactoringDescriptor) fRedoQueue.getFirst()));						break;					case OperationHistoryEvent.ABOUT_TO_REDO:						fireAboutToRedoEvent(new RefactoringDescriptorProxyAdapter((RefactoringDescriptor) fRedoQueue.getFirst()));						break;					case OperationHistoryEvent.REDONE:						fUndoStack.push((RefactoringDescriptor) fRedoQueue.removeFirst());						fireRefactoringRedoneEvent(new RefactoringDescriptorProxyAdapter(fUndoStack.peek()));						break;				}			}		}