Compatible with Java 6