Updated with Java 1.6