I think List<? extends Object> is more appropriate. It shows that the code has been generified (as opposed to using a plain List). It's similiar to List<?>, but shows that Object is indeed the least common denomiator.