-   
- // source http://stackoverflow.com/q/12894335/348975 
-   
- import java.util.List; 
- import java.util.ArrayList; 
-   
- class Main 
- { 
- 	public static void-  main  ( String [ ]-  args  )
 
- 	{ 
- 	} 
- } 
-   
- interface Canine {} 
- class Dog implements Canine {} 
- class Collie extends Dog { 
-     public static void-  main (String[]-  args ){
 
-         List<Dog> d = new ArrayList<Dog>(); 
-         List<Collie> c = new ArrayList<Collie>(); 
-         d.add(new Collie()); 
-         c.add(new Collie()); 
-         do1(d); do1(c); 
-         do2(d); do2(c); 
-     } 
-     static void do1(List<? extends Dog> d2){ 
-  //       d2.add(new Collie()); 
-     } 
-     static void do2(List<? super Collie> c2){ 
-         c2.add(new Collie()); 
-         System-  .  out-  .  println (-  c2 .  get ( 0 ) ) ; // works ok
 
-         Collie collie = c2 . get ( 0 ) ; // compiler error ... no access 
- 	System-  .  out-  .  println (-  collie  ) ;
 
-     } 
- } 
-   
				Ci8vIHNvdXJjZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcS8xMjg5NDMzNS8zNDg5NzUKCmltcG9ydCBqYXZhLnV0aWwuTGlzdDsKaW1wb3J0IGphdmEudXRpbC5BcnJheUxpc3Q7CgpjbGFzcyBNYWluCnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBtYWluICggU3RyaW5nIFsgXSBhcmdzICkKCXsKCX0KfQoKaW50ZXJmYWNlIENhbmluZSB7fQpjbGFzcyBEb2cgaW1wbGVtZW50cyBDYW5pbmUge30KY2xhc3MgQ29sbGllIGV4dGVuZHMgRG9nIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpewogICAgICAgIExpc3Q8RG9nPiBkID0gbmV3IEFycmF5TGlzdDxEb2c+KCk7CiAgICAgICAgTGlzdDxDb2xsaWU+IGMgPSBuZXcgQXJyYXlMaXN0PENvbGxpZT4oKTsKICAgICAgICBkLmFkZChuZXcgQ29sbGllKCkpOwogICAgICAgIGMuYWRkKG5ldyBDb2xsaWUoKSk7CiAgICAgICAgZG8xKGQpOyBkbzEoYyk7CiAgICAgICAgZG8yKGQpOyBkbzIoYyk7CiAgICB9CiAgICBzdGF0aWMgdm9pZCBkbzEoTGlzdDw/IGV4dGVuZHMgRG9nPiBkMil7CiAvLyAgICAgICBkMi5hZGQobmV3IENvbGxpZSgpKTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGQyLnNpemUoKSk7CiAgICB9CiAgICBzdGF0aWMgdm9pZCBkbzIoTGlzdDw/IHN1cGVyIENvbGxpZT4gYzIpewogICAgICAgIGMyLmFkZChuZXcgQ29sbGllKCkpOwogICAgICAgIFN5c3RlbS5vdXQucHJpbnQoYzIuc2l6ZSgpKTsKICAgICAgICBTeXN0ZW0gLiBvdXQgLiBwcmludGxuICggYzIgLiBnZXQgKCAwICkgKSA7IC8vIHdvcmtzIG9rIAogICAgICAgIENvbGxpZSBjb2xsaWUgPSBjMiAuIGdldCAoIDAgKSA7IC8vIGNvbXBpbGVyIGVycm9yIC4uLiBubyBhY2Nlc3MKCVN5c3RlbSAuIG91dCAuIHByaW50bG4gKCBjb2xsaWUgKSA7CiAgICB9Cn0K