NS_AUTOLOCK(mLock);
InMemoryDataSource::GetTargets(nsIRDFResource* aSource,                               nsIRDFResource* aProperty,                               PRBool aTruthValue,                               nsISimpleEnumerator** aResult){    NS_PRECONDITION(aSource != nsnull, "null ptr");    if (! aSource)        return NS_ERROR_NULL_POINTER;        NS_PRECONDITION(aProperty != nsnull, "null ptr");    if (! aProperty)        return NS_ERROR_NULL_POINTER;    NS_PRECONDITION(aResult != nsnull, "null ptr");    if (! aResult)        return NS_ERROR_NULL_POINTER;    NS_AUTOLOCK(mLock);    InMemoryAssertionEnumeratorImpl* result =        InMemoryAssertionEnumeratorImpl::Create(this, aSource, aProperty,                                                nsnull, aTruthValue);    if (! result)        return NS_ERROR_OUT_OF_MEMORY;    NS_ADDREF(result);    *aResult = result;    return NS_OK;}