Wild card, adding to a list throws UnsupportedOperationException
<pre><code>public static void wildCard2(List&lt;? super Base&gt; lst){
    for (int i=0; i&lt;2; i++){
        System.out.println(lst.get(i));
    }
    lst.add(new Base());

}
</code></pre>

<p>As shown in the  code above, I have a class called Base. 
Can anyone explain why this fails at RunTime and throws <code>UnsupportedOperationException</code> ?</p>