A learning exercise: rewrite the collections java framework.