boolean (@NotNull Document document) { if (!ApplicationManager.getApplication().isDispatchThread()) { // some light document return false; } return !UndoManagerImpl.isCopy(document) // if we don't ignore copy's events, we will receive notification // for the same event twice (from original document too) // and undo will work incorrectly && shouldRecordActions(document); }