code: public IRingSet getBasicRings() throws NoSuchAtomException {
          IRingSet ringset = molecule.getBuilder().newInstance(IRingSet.class);
          IAtomContainer spt = getSpanningTree();
          for (int i = 0; i < totalEdgeCount; i++)
              if (!bondsInTree[i]) ringset.addAtomContainer(getRing(spt, molecule.getBond(i)));
          return ringset;
      }
docs: The basic rings of the spanning tree. Using the pruned edges, return any path
  which connects the end points of the pruned edge in the tree. These paths form
  cycles.
  
  @return basic rings
  @throws NoSuchAtomException atoms not found in the molecule