Implementing the library data structures in Java the hard way.