Retrotranslator is a Java bytecode transformer that translates Java classes compiled with JDK 5.0 into classes that can be run on JVM 1.4. Supported features include generics, annotations, reflection on generics and annotations, enums, autoboxing, foreach loops, varargs, covariant return types, formatted output, static import, concurrency utilities, and collections framework enhancements.