ClusterKeySet::Add(const ClusterKey& aKey)
ConflictSet::Add(Match* aMatch)
ClusterKeySet::Add(const ClusterKey& aKey){    PLHashNumber hash = aKey.Hash();    PLHashEntry** hep = PL_HashTableRawLookup(mTable, hash, &aKey);    if (hep && *hep)        return NS_OK; // already had it.    PLHashEntry* he = PL_HashTableRawAdd(mTable, hep, hash, &aKey, nsnull);    if (! he)        return NS_ERROR_OUT_OF_MEMORY;    Entry* entry = NS_REINTERPRET_CAST(Entry*, he);    // XXX yes, I am evil. Fixup the key in the hashentry to point to    // the value it contains, rather than the one on the stack.    entry->mHashEntry.key = &entry->mKey;    // thread    mHead.mPrev->mNext = entry;    entry->mPrev = mHead.mPrev;    entry->mNext = &mHead;    mHead.mPrev = entry;        return NS_OK;}