@Test
@Override
public void testStateChanged_ButNotAfterRemoval_Crystal() {

    ChemObjectListener listener = new ChemObjectListener();
    IChemModel chemObject = (IChemModel) newChemObject();
    chemObject.addListener(listener);
    ICrystal crystal = chemObject.getBuilder().newInstance(ICrystal.class);
    chemObject.setCrystal(crystal);
    Assert.assertFalse(listener.getChanged());
    // remove the set from the IChemModel
    chemObject.setCrystal(null);
    // reset the listener
    listener.reset();
    Assert.assertFalse(listener.getChanged());
    // changing the set must *not* trigger a change event in the IChemModel
    crystal.add(chemObject.getBuilder().newInstance(IAtomContainer.class));
    Assert.assertFalse(listener.getChanged());
}