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