class Net::IMAP::CopyUIDData

def initialize(uidvalidity:, source_uids:, assigned_uids:)

def initialize(uidvalidity:, source_uids:, assigned_uids:)
  uidvalidity   = Integer(uidvalidity)
  source_uids   = SequenceSet[source_uids]
  assigned_uids = SequenceSet[assigned_uids]
  NumValidator.ensure_nz_number(uidvalidity)
  if source_uids.include_star? || assigned_uids.include_star?
    raise DataFormatError, "uid-set cannot contain '*'"
  elsif source_uids.count_with_duplicates != assigned_uids.count_with_duplicates
    raise DataFormatError, "mismatched uid-set sizes for %s and %s" % [
      source_uids, assigned_uids
    ]
  end
  super
end