public List<CompactionTask> produce() {

        // get all CF files sorted by key range start (L1+)
        List<SstFileMetaData> sstSortedByCfAndStartingKeys =
                metadataSupplier.get().stream()
                        .filter(l -> l.level() > 0) // let RocksDB deal with L0
                        .sorted(SST_COMPARATOR)
                        .collect(Collectors.toList());
        LOG.trace("Input files: {}", sstSortedByCfAndStartingKeys.size());

        List<CompactionTask> tasks = groupIntoTasks(sstSortedByCfAndStartingKeys);
        tasks.sort(Comparator.<CompactionTask>comparingInt(t -> t.files.size()).reversed());
        return tasks.subList(0, Math.min(tasks.size(), settings.maxManualCompactions));
    }
@Test
    void testNotGroupingOnDifferentLevels() {
        SstFileMetaData sst1 = sstBuilder().setLevel(1).build();
        SstFileMetaData sst2 = sstBuilder().setLevel(2).build();
        assertThat(produce(configBuilder().build(), sst1, sst2)).hasSize(2);
    }