title: Why is Java's AbstractList's removeRange() method protected?
body: <p>Does anyone have any idea, <em>why</em> removeRange method in <a href="http://java.sun.com/javase/6/docs/api/java/util/AbstractList.html" rel="noreferrer">AbstractList</a> (and also in <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/ArrayList.html" rel="noreferrer">ArrayList</a>) is <code>protected</code>?  It looks like a quite well-defined and useful operation, but still, to use it, we're forced to subclass the List implementation.</p>
  
  <p>Is there some hidden rationale? Seems quite inexplicable to me.</p>