internal bool SkipChildElementsAndCopyOuterXmlToNextElement(XmlUtilWriter utilWriter)
{
bool isEmptyElement = this._reader.IsEmptyElement;
int lineNumber = this._reader.LineNumber;
this.CopyXmlNode(utilWriter);
if (!isEmptyElement)
{
while (this._reader.NodeType != XmlNodeType.EndElement)
{
if (this._reader.NodeType == XmlNodeType.Element)
{
this._reader.Skip();
if (this._reader.NodeType == XmlNodeType.Whitespace)
{
this._reader.Skip();
}
}
else
{
this.CopyXmlNode(utilWriter);
}
}
if (this._reader.LineNumber != lineNumber)
{
utilWriter.AppendSpacesToLinePosition(this.TrueLinePosition);
}
this.CopyXmlNode(utilWriter);
}
return(this.CopyReaderToNextElement(utilWriter, true));
}