Generic and Abstract LinkedLists