Looking through the change log I spotted that:
- Stephan added a patch which stopped the 'storeAtomData' and 'storeBondData' from clearing the CML state - https://github.com/cdk/cdk/commit/e26196e
- I added a patch which clears the data when 'storeAtomData' and 'storeBondData' -
The later was added to fix the behaviour of MDMoleculeCustomizer. Stephan's way of storing the data needs different behaviour where the values are not cleared. We need to decide which is best and modify the customisers appropiately. I think the best option is look at Stephan's use case and see if we can adapt the MDMoleculeCustomizer to behave the same. Intuitively separating these is correct, the problem is the MDMoleculeCustomizer was get double the amount of atoms as it was storing twice.
Also I missed the 'newAtomData' and 'newBondData' methods so that could also be changed.