docs: private void extractItemsets(DBIDs[] idx, int start, int minsupp, List<Itemset> solution) {
      int[] buf = new int[idx.length];
      DBIDs iset = idx[start];
      if(iset == null || iset.size() < minsupp) {
        return;
      }
      if(minlength <= 1) {
        solution.add(new OneItemset(start, iset.size()));
      }
      if(maxlength > 1) {
        buf[0] = start;
        extractItemsets(iset, idx, buf, 1, start + 1, minsupp, solution);
      }
    }