@Override
    public F previous() {
      checkConcurrent();
      final int prev = forward ? cursor : cursor - 1;

      if (prev < 0) {
        throw new NoSuchElementException("previous() is beyond the beginning of the Iterator");
      }

      cursor = prev;
      forward = false;
      canremove = true;
      canset = true;
      return filterlist.get(cursor);
    }
@Override
    public F previous()