CompositeDataSourceImpl::OnChange(nsIRDFResource* aSource,
CompositeDataSourceImpl::OnChange(nsIRDFDataSource* aDataSource, nsIRDFResource* aSource,
CompositeDataSourceImpl::OnChange(nsIRDFResource* aSource,                                  nsIRDFResource* aProperty,                                  nsIRDFNode* aOldTarget,                                  nsIRDFNode* aNewTarget){    // Make sure that the change is actually visible, and not hidden    // by an assertion in a different datasource.    //    // XXX Because of aggregation, this could actually mutate into a    // variety of OnAssert or OnChange notifications, which we'll    // ignore for now :-/.    for (PRInt32 i = mObservers.Count() - 1; i >= 0; --i) {        nsIRDFObserver* obs = NS_STATIC_CAST(nsIRDFObserver*, mObservers[i]);        obs->OnChange(aSource, aProperty, aOldTarget, aNewTarget);        // XXX ignore return value?    }    return NS_OK;}