/// <summary>
        /// DavLockProperty Clone
        /// </summary>
        /// <remarks>Deep copy</remarks>
        /// <returns></returns>
        public DavLockProperty Clone()
        {
            // Start with a flat, memberwise copy
            DavLockProperty _davLockProperty = (DavLockProperty)this.MemberwiseClone();

            _davLockProperty.__lockTokens.AddRange(this.__lockTokens);

            return(_davLockProperty);
        }
        /// <summary>
        /// Copies an existing LockProperty
        /// </summary>
        /// <param name="lockProperty"></param>
        internal void Copy(DavLockProperty lockProperty)
        {
            //Clone the properties
            this.LockDepth     = lockProperty.LockDepth;
            this.LockOwner     = lockProperty.LockOwner;
            this.LockOwnerType = lockProperty.LockOwnerType;
            this.LockScope     = lockProperty.LockScope;
            this.LockTimeout   = lockProperty.LockTimeout;
            this.LockType      = lockProperty.LockType;
            this.ReadOnly      = lockProperty.ReadOnly;

            //Clone the collections
            this.ClearLockTokens();

            foreach (string _token in lockProperty.GetLockTokens())
            {
                this.AddLockToken(_token);
            }
        }
        /// <summary>
        /// Copies an existing LockProperty
        /// </summary>
        /// <param name="lockProperty"></param>
        internal void Copy(DavLockProperty lockProperty)
        {
            //Clone the properties
                this.LockDepth = lockProperty.LockDepth;
                this.LockOwner = lockProperty.LockOwner;
                this.LockOwnerType = lockProperty.LockOwnerType;
                this.LockScope = lockProperty.LockScope;
                this.LockTimeout = lockProperty.LockTimeout;
                this.LockType = lockProperty.LockType;
                this.ReadOnly = lockProperty.ReadOnly;

                //Clone the collections
                this.ClearLockTokens();

                foreach (string _token in lockProperty.GetLockTokens())
                    this.AddLockToken(_token);
        }