title: Raw types, unbounded wilcard and bounded wildcard
body: <p>I have a quick question as below:
  Here's a simple examples about this whole issues:</p>
  
  <pre><code>List a = new ArrayList();
  List &lt;?&gt; b;
  List &lt;? extends Object&gt; c;
  </code></pre>
  
  <p>According to Java SCJP by khalid mughal (a very good book!):</p>
  
  <pre><code>a = b; // ok. Widening conversion.
  b = a; // ok too. No unchecked warning.
  
  b = c; // ok
  c = b; // ok
  
  c=a; // ok but now will issue a unchecked warning. // clause 1
  </code></pre>
  
  <p>I do understand that any raw types (example a) when assigned to any bounded wilcard references, a unchecked warning is issues (since the content in that raw type a could be anything).</p>
  
  <p>My questions is since c is the highest upper bound (? extends objects), shouldn't a be able to assigned to c without that warning?</p>