nsBlockFrame::FirstChild(nsIPresContext* aPresContext, nsIAtom*        aListName, nsIFrame**      aFirstChild) const
nsBlockFrame::FirstChild(nsIFrame*& aFirstChild) const
nsBlockFrame::FirstChild(nsIPresContext* aPresContext,                         nsIAtom*        aListName,                         nsIFrame**      aFirstChild) const{  NS_PRECONDITION(nsnull != aFirstChild, "null OUT parameter pointer");  if (aListName == nsLayoutAtoms::absoluteList) {    return mAbsoluteContainer.FirstChild(this, aListName, aFirstChild);  }  else if (nsnull == aListName) {    *aFirstChild = (mLines.empty()) ? nsnull : mLines.front()->mFirstChild;    return NS_OK;  }  else if (aListName == nsLayoutAtoms::overflowList) {    nsLineList* overflowLines = GetOverflowLines(aPresContext, PR_FALSE);    *aFirstChild = overflowLines                       ? overflowLines->front()->mFirstChild                       : nsnull;    return NS_OK;  }  else if (aListName == nsLayoutAtoms::floaterList) {    *aFirstChild = mFloaters.FirstChild();    return NS_OK;  }  else if (aListName == nsLayoutAtoms::bulletList) {    if (HaveOutsideBullet()) {      *aFirstChild = mBullet;    }    else {      *aFirstChild = nsnull;    }    return NS_OK;  }  *aFirstChild = nsnull;  return NS_ERROR_INVALID_ARG;}