code: private void identifyBonds() {
          IAtomContainer spt = getSpanningTree();
          IRing ring;
          int nBasicRings = 0;
          for (int i = 0; i < totalEdgeCount; i++) {
              if (!bondsInTree[i]) {
                  ring = getRing(spt, molecule.getBond(i));
                  for (int b = 0; b < ring.getBondCount(); b++) {
                      int m = molecule.indexOf(ring.getBond(b));
                      cb[nBasicRings][m] = 1;
                  }
                  nBasicRings++;
              }
          }
          bondsAcyclicCount = 0;
          bondsCyclicCount = 0;
          for (int i = 0; i < totalEdgeCount; i++) {
              int s = 0;
              for (int j = 0; j < nBasicRings; j++) {
                  s += cb[j][i];
              }
              switch (s) {
                  case (0): {
                      bondsAcyclicCount++;
                      break;
                  }
                  case (1): {
                      bondsCyclicCount++;
                      break;
                  }
                  default: {
                      bondsCyclicCount++;
                  }
              }
          }
          identifiedBonds = true;
      }
docs: Identifies whether bonds are cyclic or not. It is used by several other methods.