Acredito que a questão poderia ter sido mais clara em relação à fundamentação sobre o código repetido. Tanto o retorno void quanto o retorno T podem ser válidos, pois isso depende se os métodos save que estavam sendo repetidos possuiam retorno ou não. Seria interessante incluir ter um exemplodos códigos repetidos para pensarmos na solução adequadamente.