title: improved collection Iterator
body: <p>Personally, I find the range of functionality provided by java.util.Iterator to be fairly pathetic. At a minimum, I'd like to have methods such as:</p>
  
  <ul>
  <li>peek() returns next element without moving the iterator forward</li>
  <li>previous() returns the previous element</li>
  </ul>
  
  <p>Though there are lots of other possibilities such as first() and last().</p>
  
  <p>Does anyone know if such a 3rd party iterator exists? It would probably need to be implemented as a decorator of java.util.Iterator so that it can work with the existing java collections. Ideally, it should be "generics aware".</p>
  
  <p>Thanks in advance,
  Don</p>