Data Structures Outside-In with Java