title: What is a real life example of generic <? super T>?
body: <p>I understand that <code>&lt;? super T&gt;</code> represents any super class of <code>T</code> (parent class of <code>T</code> of any level). But I really struggle to imagine any real life example for this generic bound wildcard.</p>
  
  <p>I understand what <code>&lt;? super T&gt;</code> means and I have seen this method:</p>
  
  <pre><code>public class Collections {
    public static &lt;T&gt; void copy(List&lt;? super T&gt; dest, List&lt;? extends T&gt; src) {
        for (int i = 0; i &lt; src.size(); i++)
          dest.set(i, src.get(i));
    }
  }
  </code></pre>
  
  <p>I am looking for an example of <em>real life use case</em> where this construction can be used and not for an explanation of what it is.</p>