T extends Object is redundant; both <T> and <T extends Object> compile to identical class files.— unless you are using the Checker Framework.
T extends Object
<T>
<T extends Object>