/*
  *  <summary>
  *      Creates a new <see cref="SectionData"/> which stores information about
  *      a section.
  *  </summary>
  *  <param name="sectionName">
  *      Name of the section
  *  </param>
  *  <param name="level">
  *      level of the section, how many sections are above this section.
  *  </param>
  */
 public SectionData(string sectionName, int level)
 {
     _sectionName = sectionName;
     if (level >= -1)
     {
         _level = level;
     }
     else
     {
         _level = -1;
     }
     _keys = new KeyDataCollection();
 }
        /*
         *  <summary>
         *      Initializes a new instance of the <see cref="KeyDataCollection"/> class.
         *      With <see cref="IEqualityComparer<string>"/> class Parameter
         *  </summary>
         *  <param name="searchComparer">
         *      A search comparer for search by key name in the collection.
         *  </param>
         */
        public KeyDataCollection(KeyDataCollection orig, IEqualityComparer <string> searchComparer)
        {
            _searchComparer = searchComparer;
            _keyData        = new Dictionary <string, KeyData>();

            foreach (KeyData key in orig)
            {
                if (_keyData.ContainsKey(key.KeyName))
                {
                    _keyData[key.KeyName] = (KeyData)key.Clone();
                }
                else
                {
                    _keyData.Add(key.KeyName, (KeyData)key.Clone());
                }
            }
        }
 /*
  *  <summary>
  *      Merges all keys from keyDataToMerge into this instance
  *  </summary>
  */
 public void Merge(KeyDataCollection keyDataToMerge)
 {
 }
 /*
  *  <summary>
  *      Creates a new <see cref = "SectionData" /> which stores information about
  *         a section.
  *  </summary>
  *  <param name = "sectionName" >
  *      Name of the section
  *  </param>
  *  <param name = "level" >
  *      level of the section, how many sections are above this section.
  *  </param>
  */
 public SectionData(SectionData orig)
 {
     _sectionName = orig._sectionName;
     _keys        = (KeyDataCollection)orig._keys.Clone();
     _level       = orig._level;
 }