На языке ОО (например, но не только на Java), как вы исправляете дублирующий код в зависимости от области его появления? Я бы начал с (например) в том же классе (области действия) выполнить рефакторинг Извлечь метод (исправить) в классах той же иерархии (области видимости) выполнить Extract Method...