code: private void addFused(BitSet cycle) {
  
          int i = indexOfFused(0, cycle);
  
          if (i != -1) {
              // add new cycle and mark as fused
              cycles.get(i).or(cycle);
              fused.set(i, true);
              int j = i;
  
              // merge other cycles we could be fused with into 'i'
              while ((j = indexOfFused(j + 1, cycle)) != -1) {
                  cycles.get(i).or(cycles.remove(j));
                  fused.remove(j);
                  j--;
              }
          } else {
              addIsolated(cycle);
          }
  
      }
docs: Adds a <i>potentially</i> fused cycle. If the cycle is discovered not be
  fused it will still be added as isolated.
  
  @param cycle vertex set of a potentially fused cycle, indicated by the
  set bits