mState |= onStopContainer;  PRInt32 count = mObservers.Count(); for (PRInt32 i = 0; i < count; i++) { imgRequestProxy *proxy = NS_STATIC_CAST(imgRequestProxy*, mObservers[i]); if (proxy) proxy->OnStopContainer(image);    NS_ASSERTION(count == mObservers.Count(), "The observer list changed while being iterated over!");
if (mListener) {  nsCOMPtr<imgIDecoderObserver> kungFuDeathGrip(mListener); mListener->OnStopContainer(this, image);
NS_IMETHODIMP imgRequest::OnStopContainer(imgIRequest *request,                                          imgIContainer *image){  LOG_SCOPE(gImgLog, "imgRequest::OnStopContainer");  mState |= onStopContainer;  PRInt32 count = mObservers.Count();  for (PRInt32 i = 0; i < count; i++) {    imgRequestProxy *proxy = NS_STATIC_CAST(imgRequestProxy*, mObservers[i]);    if (proxy) proxy->OnStopContainer(image);    // If this assertion fires, it means that imgRequest notifications could    // be dropped!    NS_ASSERTION(count == mObservers.Count(),                  "The observer list changed while being iterated over!");  }  return NS_OK;}