Java Concepts for Java 5 and 6