/// <summary>
        /// Merges two FtpItemCollection together into a single collection.
        /// </summary>
        /// <param name="items">Collection to merge with.</param>
        public void Merge(FtpsItemCollection items)
        {
            if (items == null)
                throw new ArgumentNullException("items", "must have a value");

            foreach (FtpsItem item in items)
            {
                FtpsItem n = new FtpsItem(item.Name, item.Modified, item.Size, item.ItemType, item.Attributes, item.Mode, item.SymbolicLink, item.RawText);
                n.SetParentPath(item.ParentPath);
                this.Add(n);
            }
        }
 /// <summary>
 ///  Initializes a new instance of the PutFileAsyncCompletedEventArgs class.
 /// </summary>
 /// <param name="error">Any error that occurred during the asynchronous operation.</param>
 /// <param name="canceled">A value indicating whether the asynchronous operation was canceled.</param>
 /// <param name="directoryListing">A FtpItemCollection containing the directory listing.</param>
 public GetDirListAsyncCompletedEventArgs(Exception error, bool canceled, FtpsItemCollection directoryListing)
     : base(error, canceled, null)
 {
     _directoryListing = directoryListing;
 }