JDK 5 compatibility