if (mPreAppend && SINK_LOG_TEST(gSinkLogModuleInfo, SINK_ALWAYS_REFLOW)) {
if (SINK_LOG_TEST(gSinkLogModuleInfo, SINK_ALWAYS_REFLOW)) {
SinkContext::AddComment(const nsIParserNode& aNode){  SINK_TRACE_NODE(SINK_TRACE_CALLS,                  "SinkContext::AddLeaf",                   nsHTMLTag(aNode.GetNodeType()),                   mStackPos, mSink);  FlushTextAndRelease();  if (!mSink) {    return NS_ERROR_UNEXPECTED;  }    nsCOMPtr<nsIContent> comment;  nsresult rv = NS_NewCommentNode(getter_AddRefs(comment));  NS_ENSURE_SUCCESS(rv, rv);  nsCOMPtr<nsIDOMComment> domComment(do_QueryInterface(comment));  NS_ENSURE_TRUE(domComment, NS_ERROR_UNEXPECTED);  domComment->AppendData(aNode.GetText());  NS_ASSERTION(mStackPos > 0, "stack out of bounds");  if (mStackPos <= 0) {    return NS_ERROR_FAILURE;  }  nsGenericHTMLElement* parent;  if (!mSink->mBody && !mSink->mFrameset && mSink->mHead) {    parent = mSink->mHead;  } else {    parent = mStack[mStackPos - 1].mContent;  }  // If the parent has an insertion point, insert rather than append.  if (mStack[mStackPos - 1].mInsertionPoint != -1) {    parent->InsertChildAt(comment,                          mStack[mStackPos - 1].mInsertionPoint++,                          PR_FALSE, PR_FALSE);  } else {    parent->AppendChildTo(comment, PR_FALSE, PR_FALSE);  }  DidAddContent(comment, PR_FALSE);#ifdef DEBUG  if (mPreAppend &&      SINK_LOG_TEST(gSinkLogModuleInfo, SINK_ALWAYS_REFLOW)) {    mSink->ForceReflow();  }#endif  return rv;}