Em última análise, você precisa fazer uma chamada de avaliação para combinar um código semelhante para eliminar a duplicação.
Parece haver uma tendência infeliz a adotar princípios como "não se repita" como regras que devem ser seguidas de rotina em todos os momentos. Na verdade, essas não são regras universais, mas diretrizes que devem ajudá-lo a pensar e desenvolver um bom design.
Como tudo na vida, você deve considerar os benefícios versus os custos. Quanta código duplicado será removido? Quantas vezes o código é repetido? Quanto esforço será para escrever um projeto mais genérico? Quanto você pode desenvolver o código no futuro? E assim por diante.
Sem saber seu código específico, isso não está claro. Talvez haja uma maneira mais elegante de remover a duplicação (como a sugerida por LindaJeanne). Ou, talvez, simplesmente não haja repetição verdadeira suficiente para justificar a abstração.
Atenção insuficiente ao design é uma armadilha, mas também cuidado com o excesso de design.