In Java generics, the ? operator means "any class". The extends keyword may be used to qualify that to "any class which extends/implements Something (or isSomething).
Thus you have "the Class of some class, but that class must be or extend/implement Something".