Making Sense of Java