title: iterator.hasNext() returns wrong value
body: <p>I'm trying to use a an iterator in a recursive method. It should exit the method if there is no next element left in the list. But if the cursor are at the last position the check with <code>iterator.hasNext()</code> return <code>true</code>, I except <code>false</code>?</p>
  
  <p>Any ideas and hints?</p>
  
  <p>I'm not albe to post image so I will write it down. That's what I'm seeing in the Eclipse-Debugger-View:</p>
  
  <pre class="lang-none prettyprint-override"><code>iterator             | AbstractList$Itr (id=448)
  
   - cursor            | 2
   - excpectedModCount | 2
   - lastRet           | 1
   - this$0            | ArrayList&lt;E&gt; (id=438)
   - elemtData         | Object[10] (id=462)
  
   ---modCount         | 2
  
   ---size             | 2
  </code></pre>
  
  <p>Here's the code</p>
  
  <pre><code>static void resolveWithIterator(List&lt;SomethingContext&gt; list, Iterator&lt;ContextResolveHelper&gt; iterator, List&lt;ContextResolveHelper&gt; resolverList)
  {
      boolean end = resolverList.iterator().hasNext();
      if (list.size() == 1 || !end){
          resolvedList.add(list);
          return;
      }else{
          ContextResolveHelper acutalEntry = iterator.next();
      List&lt;SomethingContext&gt; tempQRes2 = new ArrayList&lt;SomethingContext&gt;();
          for (SomethingContext smtCtx : list){
              if (//check various things){
                  tempQRes2.add(smtCtx);
              }
          }
          resolveWithIterator(tempQRes2, iterator, resolverList);
      }
  }
  </code></pre>