This week's book giveaway is in the Mac OS forum. We're giving away four copies of a choice of "Take Control of Upgrading to Yosemite" or "Take Control of Automating Your Mac" and have Joe Kissell on-line! See this thread for details.
You could also use type inference if your body can deal with it:
The biggest problem with this code is that you cannot use T for creating objects or arrays or any type checking; instanceof T is not possible, nor are new T() and new T.