/// <summary>
        /// Default constructor.
        /// </summary>
        /// <param name="owner">Owner vCard.</param>
        internal DeliveryAddressCollection(vCard owner)
        {
            m_pOwner      = owner;
            m_pCollection = new List <DeliveryAddress>();

            foreach (Item item in owner.Items.Get("ADR"))
            {
                m_pCollection.Add(DeliveryAddress.Parse(item));
            }
        }
        /// <summary>
        /// Add new delivery address to the collection.
        /// </summary>
        /// <param name="type">Delivery address type. Note: This value can be flagged value !</param>
        /// <param name="postOfficeAddress">Post office address.</param>
        /// <param name="extendedAddress">Extended address.</param>
        /// <param name="street">Street name.</param>
        /// <param name="locality">Locality(city).</param>
        /// <param name="region">Region.</param>
        /// <param name="postalCode">Postal code.</param>
        /// <param name="country">Country.</param>
        public void Add(DeliveryAddressType_enum type, string postOfficeAddress, string extendedAddress, string street, string locality, string region, string postalCode, string country)
        {
            string value = "" +
                           postOfficeAddress + ";" +
                           extendedAddress + ";" +
                           street + ";" +
                           locality + ";" +
                           region + ";" +
                           postalCode + ";" +
                           country;

            Item item = m_pOwner.Items.Add("ADR", DeliveryAddress.AddressTypeToString(type), "");

            item.SetDecodedValue(value);
            m_pCollection.Add(new DeliveryAddress(item, type, postOfficeAddress, extendedAddress, street, locality, region, postalCode, country));
        }
 /// <summary>
 /// Removes specified item from the collection.
 /// </summary>
 /// <param name="item">Item to remove.</param>
 public void Remove(DeliveryAddress item)
 {
     m_pOwner.Items.Remove(item.Item);
     m_pCollection.Remove(item);
 }