code: private int ringSystemClassifier(IRing ring, String smile) throws CDKException {
          /* System.out.println("IN AtomTypeTools Smile:"+smile); */
          logger.debug("Comparing ring systems: SMILES=", smile);
          
          if (PYRROLE_SMI == null) {
              final SmilesParser smipar = new SmilesParser(ring.getBuilder());
              initCache(smipar);
          }
  
          if (smile.equals(PYRROLE_SMI))
              return PYROLE_RING;
          else if (smile.equals(FURAN_SMI))
              return FURAN_RING;
          else if (smile.equals(THIOPHENE_SMI))
              return THIOPHENE_RING;
          else if (smile.equals(PYRIDINE_SMI))
              return PYRIDINE_RING;
          else if (smile.equals(PYRIMIDINE_SMI))
              return PYRIMIDINE_RING;
          else if (smile.equals(BENZENE_SMI))
              return BENZENE_RING;
  
          int ncount = 0;
          for (int i = 0; i < ring.getAtomCount(); i++) {
              if (ring.getAtom(i).getSymbol().equals("N")) {
                  ncount = ncount + 1;
              }
          }
  
          if (ring.getAtomCount() == 6 & ncount == 1) {
              return 10;
          } else if (ring.getAtomCount() == 5 & ncount == 1) {
              return 4;
          }
  
          if (ncount == 0) {
              return 3;
          } else {
              return 0;
          }
      }
docs: Identifies ringSystem and returns a number which corresponds to
  CDKChemicalRingConstant
  
  @param  ring    Ring class with the ring system
  @param  smile  smile of the ring system
  @return chemicalRingConstant