private void ReadRemoveSection (XmlTextReader reader, string sectionName)
{
if (!reader.MoveToNextAttribute () || reader.Name != "name")
ThrowException ("Unrecognized attribute.", reader);
string removeValue = reader.Value;
if (removeValue == null || removeValue.Length == 0)
ThrowException ("Empty name to remove", reader);
reader.MoveToElement ();
if (sectionName != null)
removeValue = sectionName + '/' + removeValue;
object o = LookForFactory (removeValue);
if (o != null && o == removedMark)
ThrowException ("No factory for " + removeValue, reader);
factories [removeValue] = removedMark;
MoveToNextElement (reader);
}