while (i) { nsIDOMNode *node = (nsIDOMNode *)aAncestorArray.ElementAt(--i);
while (1) { nsIDOMNode *node = (nsIDOMNode *)aAncestorArray.ElementAt(i++);
nsDocumentEncoder::SerializeRangeContextEnd(const nsVoidArray& aAncestorArray,                                            nsAWritableString& aString){  PRInt32 i = aAncestorArray.Count();  nsresult rv = NS_OK;  while (i) {    nsIDOMNode *node = (nsIDOMNode *)aAncestorArray.ElementAt(--i);    if (!node)      break;    if (IncludeInContext(node)) {      rv = SerializeNodeEnd(node, aString);      if (NS_FAILED(rv))        break;    }  }  return rv;}