while (iter.hasNext()) {
m_hypotheses++;
child = (Rule) iter.next();
child.upDate(m_instances);
if (canCalculateOptimistic(child)) {
child.calculateOptimistic();
if (canExplore(child)) {
m_explored++;
if (canStoreInNodes(child)) {
} else {
iter.remove();