@Override
    public E previous() {
      try {
        int i = cursor - 1;
        E previous = get(i);
        lastRet = cursor = i;
        return previous;
      }
      catch (IndexOutOfBoundsException e) {
        throw new NoSuchElementException();
      }
    }
@Override
    public E previous()