Iterator doomed = Find(*aMatch); if (doomed != Last()) Erase(doomed);
PLHashEntry** hep = PL_HashTableRawLookup(mSupport, aMemoryElement.Hash(), &aMemoryElement);  if (!hep || !*hep) return;   MatchSet* set = NS_STATIC_CAST(MatchSet*, (*hep)->value);     for (MatchSet::Iterator match = set->First(); match != set->Last(); ++match) {  aRetractedMatches.Add(mPool, match.operator->());    ResourceSet::ConstIterator last = match->mBindingDependencies.Last(); for (ResourceSet::ConstIterator dep = match->mBindingDependencies.First(); dep != last; ++dep) RemoveBindingDependency(match.operator->(), *dep); }   PL_HashTableRawRemove(mSupport, hep, *hep);    ComputeNewMatches(aNewMatches, aRetractedMatches);
MatchSet::Remove(Match* aMatch){    Iterator doomed = Find(*aMatch);    if (doomed != Last())        Erase(doomed);}