private int computePositionOfLast() { final int last = _nodes.cardinality(); final int currNode = _currentNode; final AbstractTranslet translet = _translet; int lastPosition = _position; for (int index = _currentIndex; index < last; ) { final int position = _docOrder ? index + 1 : last - index; int nodeIndex = _nodes.at(index++); // note increment if (_filter.test(nodeIndex, position, last, currNode, translet, this)) { lastPosition++; } } return lastPosition; }
public int next() { final int last = _nodes.cardinality(); final int currentNode = _currentNode; final AbstractTranslet translet = _translet; for (int index = _currentIndex; index < last; ) { final int position = _docOrder ? index + 1 : last - index; final int node = _nodes.at(index++); // note increment if (_filter.test(node, position, last, currentNode, translet, this)) { _currentIndex = index; return returnNode(node); } } return END; }