Generic Java implemention of hash tables - NYU Data Structures