JBoss-Retro is a tool for transforming compiled byte code from one format to another.
It uses the Javassist byte code editing library to modify existing byte code. For example, classes can be renamed, method calls can be redirected and data types can be changed. One usage of this is to allow translation of jdk1.5 byte code to an equivalent that can be used in a jdk1.4 jvm. Potentially it could be used to make other byte code transformations as well.
Detailed usage instructions for the JBoss-Retro Plugin can be found here.