Java Revisited