### Question:
AckMessageImpl implements AckMessage { @Override public Set<Ack> getAcks() { return Collections.unmodifiableSet(acks); } AckMessageImpl(final Set<Ack> acks); @Override Type getMessageType(); @Override Set<Ack> getAcks(); @Override String toString();  }### Answer:
@Test public void constructWithUpdates() { final Set<Ack> acks = acks(ack("abc123", 1L), ack("efg456", 20L)); final AckMessage ack = new AckMessageImpl(acks); assertThat(ack.getAcks(), hasItems(ack("abc123", 1L), ack("efg456", 20L))); }