Retrotranslator is a tool that makes Java applications compatible with various versions of the Java platform. It supports all Java 5 language features and a significant part of Java 5 API on J2SE 1.4. In other Java environments only the Java 5 language features that don't depend on the new API are supported. Retrotranslator is based on the ASM bytecode manipulation framework and the backport of concurrency utilities.