+ * At each stage of the iteration, the iterator points to
+ * a maximal event set that can be thought of as `R` + `A`:
+ *
+ * | R | A
+ * +--------+
+ *
+ * where `R` is some set of events and `A` is another event.
+ *
+ * The iterator first tries expansion from `R` + `A`. If it finds
+ * node `B` to expand, this means that there is a node in the tree of
+ * maximal event sets of `C` (the configuration traversed) such that
+ * `R` + `A` + `B` needs to be checked.
+ *
+ * If no such node is found, then the iterator must check `R` +
+ * some other node AFTER `A`. The new set of possibilities potentially
+ * includes some of `A`'s dependencies, so their counts are decremented
+ * prior to searching.
+ *