*aResult = NS_STATIC_CAST(nsIRDFHistoryDataSource*, this);
*aResult = NS_STATIC_CAST(nsIHistoryDataSource*, this);
nsHistoryDataSource::QueryInterface(REFNSIID aIID, void** aResult){    NS_PRECONDITION(aResult != nsnull, "null ptr");    if (! aResult)        return NS_ERROR_NULL_POINTER;    if (aIID.Equals(nsIRDFHistoryDataSource::GetIID()) ||        aIID.Equals(nsIRDFDataSource::GetIID()) ||        aIID.Equals(nsISupports::GetIID())) {        *aResult = NS_STATIC_CAST(nsIRDFHistoryDataSource*, this);        NS_ADDREF(this);        return NS_OK;    }    else {        *aResult = nsnull;        return NS_NOINTERFACE;    }}