@Override
    public SfmSketchState createGroupedState()
    {
        return new GroupedSfmSketchState();
    }
@Test
    public void testCreateGroupedStatePresent()
    {
        SfmSketchState state = factory.createGroupedState();
        assertTrue(state instanceof SfmSketchStateFactory.GroupedSfmSketchState);
        SfmSketchStateFactory.GroupedSfmSketchState groupedState = (SfmSketchStateFactory.GroupedSfmSketchState) state;

        groupedState.setGroupId(1);
        assertNull(state.getSketch());
        SfmSketch sketch1 = SfmSketch.create(16, 16);
        groupedState.setSketch(sketch1);
        assertEquals(state.getSketch(), sketch1);

        groupedState.setGroupId(2);
        assertNull(state.getSketch());
        SfmSketch sketch2 = SfmSketch.create(32, 32);
        groupedState.setSketch(sketch2);
        assertEquals(state.getSketch(), sketch2);

        groupedState.setGroupId(1);
        assertNotNull(state.getSketch());
    }