# Uses of Package
org.optaplanner.core.impl.heuristic.selector.common.iterator

- Packages that use org.optaplanner.core.impl.heuristic.selector.common.iterator
  Package | Description
  --- | ---
  org.optaplanner.core.impl.heuristic.selector |
  org.optaplanner.core.impl.heuristic.selector.common.iterator |
  org.optaplanner.core.impl.heuristic.selector.entity |
  org.optaplanner.core.impl.heuristic.selector.entity.decorator |
  org.optaplanner.core.impl.heuristic.selector.entity.mimic |
  org.optaplanner.core.impl.heuristic.selector.entity.nearby |
  org.optaplanner.core.impl.heuristic.selector.entity.pillar |
  org.optaplanner.core.impl.heuristic.selector.move.composite |
  org.optaplanner.core.impl.heuristic.selector.value.chained |
  org.optaplanner.core.impl.heuristic.selector.value.decorator |

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.common.iterator
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.
  SelectionIterator |
  UpcomingSelectionIterator | IMPORTANT: The constructor of any subclass of this abstract class, should never call any of its child `Selector`'s `Iterator.hasNext()` or `Iterator.next()` methods, because that can cause descendant `Selector`s to be selected too early (which breaks `MimicReplayingEntitySelector`).

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.entity
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.entity.decorator
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.
  SelectionIterator |
  UpcomingSelectionIterator | IMPORTANT: The constructor of any subclass of this abstract class, should never call any of its child `Selector`'s `Iterator.hasNext()` or `Iterator.next()` methods, because that can cause descendant `Selector`s to be selected too early (which breaks `MimicReplayingEntitySelector`).

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.entity.mimic
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.entity.nearby
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.entity.pillar
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.move.composite
  Class | Description
  --- | ---
  SelectionIterator |
  UpcomingSelectionIterator | IMPORTANT: The constructor of any subclass of this abstract class, should never call any of its child `Selector`'s `Iterator.hasNext()` or `Iterator.next()` methods, because that can cause descendant `Selector`s to be selected too early (which breaks `MimicReplayingEntitySelector`).

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.value.chained
  Class | Description
  --- | ---
  ListIterable | An extension on the `Iterable` interface that supports `ListIterable.listIterator()` and `ListIterable.listIterator(int)`.

- Classes in org.optaplanner.core.impl.heuristic.selector.common.iterator used by org.optaplanner.core.impl.heuristic.selector.value.decorator
  Class | Description
  --- | ---
  SelectionIterator |
  UpcomingSelectionIterator | IMPORTANT: The constructor of any subclass of this abstract class, should never call any of its child `Selector`'s `Iterator.hasNext()` or `Iterator.next()` methods, because that can cause descendant `Selector`s to be selected too early (which breaks `MimicReplayingEntitySelector`).