public void Load(TextReader reader)
        {
            Clear();

              string line;

              while ((line = reader.ReadLine()) != null) {
            if (IsSettingLine(line)) {
              int offset = 0;
              string nameString = ParseName(line, ref offset);
              string valueString = ParseValue(line, ref offset);
              string typeString = ParseType(line, ref offset);
              string idString = ParseID(line, ref offset);

              nameString = (nameString!=null) ? (Unescape(nameString)) : (null);
              valueString = (valueString!=null) ? (Unescape(valueString)) : (null);
              typeString = (typeString!=null) ? (Unescape(typeString)) : (null);
              idString = (idString!=null) ? (Unescape(idString)) : (null);

              string name = nameString;

              Type type;
              if (string.IsNullOrEmpty(typeString)) {
            type = typeof(string);
              }
              else {
            type = FindType(typeString);
            if (type == null) {
              throw new FormatException();
            }
              }

              object value = ConvertFromString(valueString, type);

              Uri id;
              if (idString != null) {
            id = new Uri(idString, UriKind.Absolute);
              }
              else {
            id = GenerateUniqueID();
              }

              SettingsItemInfo info = new SettingsItemInfo(id, name, type, value);
              Add(info);
            }
              }
        }
        public virtual void Load(XmlReader reader)
        {
            Clear();

              AtomFeed feed = _settingsReader.ReadFeed(reader);

              foreach (SettingsEntry entry in feed.Entries) {
            string name = entry.Title.Text;

            string valueString = entry.Content.Text;
            Type type = entry.Type;
            if (type == null) {
              type = typeof(string);
            }

            object value = ConvertFromString(valueString, type);

            Uri id = entry.ID;

            SettingsItemInfo info = new SettingsItemInfo(id, name, type, value);
            Add(info);
              }
        }