Retrotranslator: Enable Java 5 Features on JDK 1.4
James Strachan points to Retrotranslator:
Using it you can take some Java 1.5 bytecode using annotations, generics, auto-boxing, java.util.concurrent utilities and port it to 1.4 compliant bytecode; you just need to add retrotranslator-runtime.jar then asm.jar (for accessing annotations) and backport-util-concurrent.jar for using java.util.concurrent classes. Awesome!
I haven’t tried it yet, but it sounds very cool indeed.