### Question:
DefaultChangeSet implements ChangeSet { @Override public Iterator<Serializable> events() { return this.events.iterator(); } DefaultChangeSet(
            String bucketId,
            String streamId,
            long streamVersion,
            String changeSetId,
            List<? extends Serializable> events); @Override String bucketId(); @Override String streamId(); @Override long streamVersion(); @Override String changeSetId(); @Override Iterator<Serializable> events();  }### Answer:
@Test public void test_that_events_are_readonly() { ChangeSet cs = get(); Iterator<Serializable> it = cs.events(); assertTrue(it.hasNext()); it.next(); try { it.remove(); fail("Should have failed by now"); } catch (UnsupportedOperationException e) { } }