B-tree implementation (Java)

In March 2004 I joined the Theory of Distributed Systems Group in MIT's LCS as an undergraduate assistant. My first job was to provide a new data type implementation in the IOA Toolkit. I was also taking 6.046 at the time and for some reason I thought implementing a B-tree would be a good idea.  1000 lines of code later I realized it was probably not such a great idea. The code even has an abstraction function and implementation invariants checked in a checkRep() method: 

3D Gizmoball:  

Gizmoball allows you to design and play your own pinball boards. Our (Fivos Constantinou, Panayiotis Mavrommatis, Velin Tzanov and Chex Xiao) version also runs the game in 3D and won the artistic award. Screenshots :