Em uma linguagem OO (por exemplo, mas não se limitando a Java), como você corrige código duplicado, dependendo do escopo de sua ocorrência? Eu começaria com (por exemplo) na mesma classe (escopo), execute a refatoração do método Extract (correção) nas classes da mesma hierarquia (escopo), execute...