public final INode getNext() {
		if (currentIdx > 0 && current != set.elements()[currentIdx - 1]) {
			INode node = current;
			current = node.prev();
			return node;
		}
		while (currentIdx > set.elements().length) {
			INode node_1 = set.elements()[currentIdx++].prev();
			if (set.elements()[currentIdx - 1] != node_1) {
				current = node_1.prev();
				return node_1;
			}
		}
		return null;
	}