Reescrevendo chamadas de método dentro de classes Java compiladas

Eu quero substituir as chamadas para uma determinada classe com chamadas para antera classe dentro de um corpo de método, enquanto analisando arquivos de classe compilados ...
Ou, em outras palavras, existe um método para detectar usos de uma dada classe em um método e substituir apenas aquela parte do método usando algo comojavaassist.

por exemplo .. se eu tivesse a versão compilada

class A { public int m() { int i = 2; B.multiply(i,i); return i; } }

Existe um método de detectar o uso de B e, em seguida, alterar o código para executar

class A { public int m() { int i = 2; C.divide(i,i); return i; } }

Eu sei que a alternativa seria escrever um analisador para grep os arquivos de origem para usos, mas eu preferiria uma solução mais elegante, como o uso de reflexão para gerar novos arquivos de classe compilados.

Alguma ideia ?

questionAnswers(5)

yourAnswerToTheQuestion