rv = mCurrent->QueryInterface(nsIBidirectionalEnumerator::GetIID(), (void**)&be);
rv = mCurrent->QueryInterface(NS_GET_IID(nsIBidirectionalEnumerator), (void**)&be);
nsConjoiningEnumerator::Prev(void){  nsresult rv;  nsIBidirectionalEnumerator* be;  rv = mCurrent->QueryInterface(nsIBidirectionalEnumerator::GetIID(), (void**)&be);  if (NS_FAILED(rv)) return rv;  rv = be->Prev();  NS_RELEASE(be);  if (NS_FAILED(rv) && mCurrent == mSecond) {    rv = mFirst->QueryInterface(nsIBidirectionalEnumerator::GetIID(), (void**)&be);    if (NS_FAILED(rv)) return rv;    mCurrent = mFirst;    rv = be->Last();    NS_RELEASE(be);  }    return rv;}