class MDLReader extends DefaultChemObjectReader {

    @Override
    public <T extends IChemObject> T read(T object) throws CDKException {
        if (object instanceof IChemFile) {
            return (T) readChemFile((IChemFile) object);
        } else if (object instanceof IChemModel) {
            return (T) readChemModel((IChemModel) object);
        } else if (object instanceof IAtomContainer) {
            return (T) readMolecule((IAtomContainer) object);
        } else {
            throw new CDKException("Only supported are ChemFile and Molecule.");
        }
    }

    public  MDLReader();
    public  MDLReader(InputStream in);
    public  MDLReader(InputStream in, Mode mode);
    public  MDLReader(Reader in);
    public  MDLReader(Reader in, Mode mode);

}