Using Java 5 language features in earlier JDKs