List all values, perhaps with repetitions.
List all values, perhaps with repetitions. It is not guaranteed that the values will be repeated the correct number of times.
An iterator of values.
List all values, with repetitions, excluding values from a given sequence (which can also contain repeated values).
List all values, with repetitions, excluding values from a given sequence (which can also contain repeated values). It is guaranteed that the values will be repeated the correct number of times.
A sequence of values that should be skipped while running the iterator.
An iterator of values.
Implementation using guava's
com.google.common.collect.ConcurrentHashMultiset
.This is suitable for types that have a small number of possible values (i.e. Core.simpleTypes), or for molecules constrained by cross-molecule dependencies where selection by value is important.