I presume this will never happen, because through erasure we'll lose T so it will just cast it to `Object`.
Better to be explicit in catch block, for `catch (ClassCastException e)` I think.