internal override void Read(BinaryXmlReader reader)
 {
     path = reader.ReadStringValue("path");
     name = reader.ReadStringValue("name");
     if (!reader.IgnoreDescriptionData)
     {
         description = reader.ReadStringValue("description");
     }
     rootAddin           = reader.ReadStringValue("rootAddin");
     addins              = (List <string>)reader.ReadValue("addins", new List <string> ());
     nodeSet             = (ExtensionNodeSet)reader.ReadValue("NodeSet");
     conditions          = (ConditionTypeDescriptionCollection)reader.ReadValue("Conditions", new ConditionTypeDescriptionCollection(this));
     defaultInsertBefore = reader.ReadStringValue("defaultInsertBefore");
     defaultInsertAfter  = reader.ReadStringValue("defaultInsertAfter");
     if (nodeSet != null)
     {
         nodeSet.SetParent(this);
     }
 }
 internal void SetNodeSet(ExtensionNodeSet nset)
 {
     // Used only by the addin updater
     nodeSet = nset;
     nodeSet.SetParent(this);
 }