public KmlNode(CharPosition StartPosition, CharPosition EndPosition)
 {
     this.StartPosition = StartPosition;
     this.EndPosition = EndPosition;
     ChildNodes = new KmlNodeCollection(this);
     Values = new KmlValueCollection(this);
 }
 /// <summary>
 /// Adds another collection to this collection.
 /// </summary>
 /// <param name="collection">The collection the add.</param>
 public void AddCollection(KmlNodeCollection collection)
 {
     foreach (KmlNode value in collection)
     {
         List.Add(value);
         value.Parent = Parent;
     }
 }
        /// <summary>
        /// Returns a deep-copy of the collection.
        /// </summary>
        /// <returns></returns>
        public KmlNodeCollection Clone(KmlNode parent)
        {
            KmlNodeCollection newCollection = new KmlNodeCollection(parent);
            foreach (KmlNode item in List)
            {
                newCollection.Add(item.Clone());
            }

            return newCollection;
        }
 public KmlNode()
 {
     this.Parent = null;
     ChildNodes = new KmlNodeCollection(this);
     Values = new KmlValueCollection(this);
 }