Java, библиотека Google Collections; проблема с AbstractIterator?

Я использую библиотеку Google CollectionsAbstractIterator реализовать генератор. При этом я столкнулся с проблемой; Я сократил его до более простого типа и воспроизвел проблему. Это сокращение явно излишне для того, что оно делает, считая от 1 до нумерации через Iterable.

По сути, в следующем коде работает некомментированная версия, а комментируемая - нет (предоставляет нулевой элемент последним, а не заканчивается последним номером).

Я делаю что-то не так, или это проблема с библиотекой?

private Iterable<Integer> elementGenerator(final int numelements) {
  return new Iterable<Integer>() {
    @Override public Iterator<Integer> iterator() {
      return new AbstractIterator<Integer>(){
        int localcount=0;
        @Override protected Integer computeNext() {
          if (localcount++ == numelements) return endOfData();
          return localcount;
          // return (localcount++ == numelements) ? endOfData() : localcount;
        }
      };
    }
  };
}

Я также попытался возиться с?: расположение (например, префикс возврата и сравнение с +1 вместо), но безрезультатно. Я немного покопался в поисках документации по этому поводу, но ничего не нашел. Очевидно, что?: синтаксис это только удобство, а не необходимость, но все же ...

Ответы на вопрос(2)

Ваш ответ на вопрос