Java 5.0 Program Design