public void EndElement(String tag)
{
if (tag.Equals("Destination")) {
if (xmlLast == null && xmlNames != null)
return;
else
throw new ArgumentException(MessageLocalization.GetComposedMessage("destination.end.tag.out.of.place"));
}
if (!tag.Equals("Name"))
throw new ArgumentException(MessageLocalization.GetComposedMessage("invalid.end.tag.1", tag));
if (xmlLast == null || xmlNames == null)
throw new ArgumentException(MessageLocalization.GetComposedMessage("name.end.tag.out.of.place"));
if (!xmlLast.ContainsKey("Page"))
throw new ArgumentException(MessageLocalization.GetComposedMessage("page.attribute.missing"));
xmlNames[UnEscapeBinaryString(xmlLast["Name"])] = xmlLast["Page"];
xmlLast = null;
}