# File lib/kwala/lib/cycle_detector.rb, line 421
    def sub_group_clusters(groups)


      groups.keys.sort.each do |key|
        if key.include?("/")
          spname = key.split("/")
          gname = spname[0..-2].join("/")

          if groups.key?(gname)
            groups[gname] << { key => groups[key] }
          end
        end
      end

      # now condense
      groups.keys.sort.reverse.each do |key|

        (groups.keys - [key]).reverse.sort.each do |gkey|
          subs = groups[gkey].find_all { |v| v.kind_of?(Hash) }
          if subs
            sk = (subs.map { |k| k.keys }).flatten
            if sk.include?(key)
              groups.delete(key)
              break
            end
          end
        end

      end


      groups
    end