for (nsIFrame* f = aFromChild; f; f->GetNextSibling(&f)) {
for (nsIFrame* f = aFromChild; f; f = f->GetNextSibling()) {
nsTableFrame::PushChildren(nsIPresContext* aPresContext,                           nsIFrame*       aFromChild,                           nsIFrame*       aPrevSibling){  NS_PRECONDITION(nsnull != aFromChild, "null pointer");  NS_PRECONDITION(nsnull != aPrevSibling, "pushing first child");#ifdef NS_DEBUG  nsIFrame* prevNextSibling;  aPrevSibling->GetNextSibling(&prevNextSibling);  NS_PRECONDITION(prevNextSibling == aFromChild, "bad prev sibling");#endif  // Disconnect aFromChild from its previous sibling  aPrevSibling->SetNextSibling(nsnull);  if (nsnull != mNextInFlow) {    nsTableFrame* nextInFlow = (nsTableFrame*)mNextInFlow;    // Insert the frames after any repeated header and footer frames    nsIFrame* firstBodyFrame = nextInFlow->GetFirstBodyRowGroupFrame();    nsIFrame* prevSibling = nsnull;    if (firstBodyFrame) {      prevSibling = nextInFlow->mFrames.GetPrevSiblingFor(firstBodyFrame);    }    // When pushing and pulling frames we need to check for whether any    // views need to be reparented.    for (nsIFrame* f = aFromChild; f; f->GetNextSibling(&f)) {      nsHTMLContainerFrame::ReparentFrameView(aPresContext, f, this, nextInFlow);    }    nextInFlow->mFrames.InsertFrames(mNextInFlow, prevSibling, aFromChild);  }  else {    // Add the frames to our overflow list    SetOverflowFrames(aPresContext, aFromChild);  }}