    @Test
    public void replaceAll_unimplementedSet() {

        AbstractEventList<String> list = new AbstractEventList<String>() {
            @Override
            public int size() {
                return 1;
            }

            @Override
            public String get(int index) {
                if (index != 0) throw new IndexOutOfBoundsException("Wha??");
                return "Zero";
            }

            @Override
            public void dispose() {}
        };
        assertFalse(list.updates.isEventInProgress());

        try {
            list.replaceAll(s -> "Not gonna work");
            fail("Shouldn't have worked");
        }
        catch(UnsupportedOperationException ex) {
            // expected
        }

        assertFalse(list.updates.isEventInProgress());
    }