class BasicBondGenerator implements IGenerator<IAtomContainer> {

    @Override
    public IRenderingElement generate(IAtomContainer container, RendererModel model) {
        ElementGroup group = new ElementGroup();
        this.ringSet = this.getRingSet(container);

        //Sort the ringSet consistently to ensure consistent rendering.
        //If this is omitted, the bonds may 'tremble'.
        ringSet.sortAtomContainers(new AtomContainerComparatorBy2DCenter());

        for (IBond bond : container.bonds()) {
            group.add(MarkedElement.markupBond(this.generate(bond, model), bond));
        }
        return group;
    }

    public  BasicBondGenerator();

}