class SmartsQueryVisitor implements SMARTSParserVisitor {

    public Object visit(ASTRingIdentifier node, Object data) {
        IQueryAtom atom = (IQueryAtom) data;
        RingIdentifierAtom ringIdAtom = new RingIdentifierAtom(builder);
        ringIdAtom.setAtom(atom);
        IQueryBond bond;
        if (node.jjtGetNumChildren() == 0) { // implicit bond
            bond = null;
        } else {
            bond = (IQueryBond) node.jjtGetChild(0).jjtAccept(this, data);
        }
        ringIdAtom.setRingBond(bond);
        return ringIdAtom;
    }

    public  SmartsQueryVisitor(IChemObjectBuilder builder);

}