At 30:25 the line
Cage = new Cage<Cat>();
cage = new Cage<Cat>(); //lower case c for ref. variable...
given the previous statement which is:
Cage<? extends Animal> cage = new Cage<Dog>();
That's right. Thanks for the heads up. In fact, this is why one should never type programming codes in a word processor. :)