Adding ArrayList implementations with and without generics