when IMolecule was removed (27c6f7df) this conditional was broken. ICrystal was not a subclass of IMolecule but it is a subclass of IAtomContainer and so the first condition will match and writeCrystal is never called.