if (canloop && deterministic && !excludenext.isDisjoint(start))
{
// we have a possible looping nondeterminism.
// let's take some time now to see if it's actually caused
// by non-unique-particle-attribute or not.
QNameSet suspectSet = excludenext.intersect(start);
// compute the set of all particles that could start this group
Map startMap = new HashMap();
particlesMatchingStart(partImpl, suspectSet, startMap, new QNameSetBuilder());