Не всегда, но обычно это может быть признаком того, что некоторые элементы цепочки каскадов событий не обнаруживают должным образом, что им не нужно отправлять событие. Классическая иллюстрация - установщик бинов, который генерирует PropertyChangeEvent, даже если значение не изменилось.
Хотя то, что вы сделали, отфильтрует эти события, оно не решает фундаментальную проблему.
Проблема в том, что эти "ошибки" могут объединяться в бесконечные циклы. Расширяя приведенный выше пример bean-компонента, скажем, у вас есть пользовательский интерфейс, который сбрасывает его редактируемое значение на основе этого поля bean-компонента ... и сброс значения UI также вызовет установщик bean-компонента, потому что там не была проведена надлежащая проверка на наличие дублирования. При первом редактировании значения происходит бесконечный цикл.
Эти примеры очевидны, когда они случаются, но по мере усложнения иерархии уведомлений становится все труднее отследить эти вещи, и они потенциально могут происходить в более прерывистое время.
Хорошее практическое правило - сделать каждый компонент, генерирующий события, максимально консервативным. В случае (хе) вы получаете уведомления от компонентов, которые вы не можете контролировать, и будете пересылать свои собственные события, а затем фильтр, подобный тому, который вы установили, может быть единственным вариантом, предотвращающим распространение потенциально большего проблема, чем просто производительность.