public void CancelDelete()
        {
            ThrowIfError(Session.Rset());

              dropListing = null; // must be updated

              lock (((System.Collections.ICollection)messages).SyncRoot) {
            foreach (var message in messages.Values) {
              message.IsMarkedAsDeleted = false;
            }
              }
        }
        private PopDropListing EnsureDropListUpdated()
        {
            if (dropListing.HasValue)
            return dropListing.Value;

              PopDropListing dropList;

              ThrowIfError(Session.Stat(out dropList));

              dropListing = dropList;

              return dropListing.Value;
        }
        internal void Delete(PopMessageInfo message)
        {
            ThrowIfError(Session.Dele(message.MessageNumber));

              dropListing = null; // must be updated
        }