{
      if (prepared < -1 || hasPrevious())
      {
        --cursor;
        prepared = 0;
        feature = preparedFeature;
        E result = preparedResult;
        hasPrevious();
        return result;
      }
      else
      {
        throw new NoSuchElementException();
      }
    }