internal void ReadPreservationInfo(string elementStartTag)
{
XmlTextReader xmlTextReader = new XmlTextReader((TextReader)new StringReader(elementStartTag));
WhitespaceTrackingTextReader trackingTextReader = new WhitespaceTrackingTextReader((TextReader)new StringReader(elementStartTag));
xmlTextReader.Namespaces = false;
xmlTextReader.Read();
for (bool flag = xmlTextReader.MoveToFirstAttribute(); flag; flag = xmlTextReader.MoveToNextAttribute())
{
this.orderedAttributes.Add(xmlTextReader.Name);
if (trackingTextReader.ReadToPosition(xmlTextReader.LineNumber, xmlTextReader.LinePosition))
this.leadingSpaces.Add(xmlTextReader.Name, trackingTextReader.PrecedingWhitespace);
}
int length = elementStartTag.Length;
if (elementStartTag.EndsWith("/>", StringComparison.Ordinal))
--length;
if (!trackingTextReader.ReadToPosition(length))
return;
this.leadingSpaces.Add(string.Empty, trackingTextReader.PrecedingWhitespace);
}