if (mNextAssertion) mNextAssertion->AddRef();   as->Release();
InMemoryAssertionEnumeratorImpl::HasMoreElements(PRBool* aResult){    NS_AUTOLOCK(mDataSource->mLock);    if (mValue) {        *aResult = PR_TRUE;        return NS_OK;    }    while (mNextAssertion) {        PRBool foundIt = PR_FALSE;        if ((mProperty == mNextAssertion->mProperty) && (mTruthValue == mNextAssertion->mTruthValue)) {            if (mSource) {                mValue = mNextAssertion->mTarget;                NS_ADDREF(mValue);            }            else {                mValue = mNextAssertion->mSource;                NS_ADDREF(mValue);            }            foundIt = PR_TRUE;        }        mNextAssertion = (mSource) ? mNextAssertion->mNext : mNextAssertion->mInvNext;        if (foundIt) {            *aResult = PR_TRUE;            return NS_OK;        }    }    *aResult = PR_FALSE;    return NS_OK;}