title: What is the view of List.sublist(n,m)?
body: <p>I'm trying to cut an <code>ArrayList&lt;String&gt;</code> in 2 halves.</p>
  
  <pre><code>ArrayList&lt;String&gt; in = new ArrayList&lt;&gt;(), out1, out2;
  out1 = (ArrayList&lt;String&gt;) in.subList(0,2); //will cause an ClassCastException: List cannot be casted to ArrayList
  out2 = (ArrayList&lt;String&gt;) in.subList(2,5); // either here
  </code></pre>
  
  <p>Why? what is the view representing, which subList returns?</p>