Assignment dealing with Abstract Data Types, Java generics, linked data structure, recursive data types, and general trees (Winter 2014).