public OutMessage(Chat chat, List<Contact> contacts, MessageContent content, boolean encrypted) {
    super(
        chat,
        "Kon_" + EncodingUtils.randomString(8),
        content,
        Optional.empty(),
        Status.PENDING,
        encrypted ? CoderStatus.createToEncrypt() : CoderStatus.createInsecure());

    Set<Transmission> ts = new HashSet<>();
    contacts.forEach(
        contact -> {
          boolean succ = ts.add(new Transmission(contact, contact.getJID(), mID));
          if (!succ) LOGGER.warning("duplicate contact: " + contact);
        });
    mTransmissions = Collections.unmodifiableSet(ts);
  }