### Question:
SuperSetGraph { public ArrayList<ColumnCombinationBitset> getExistingSupersets(ColumnCombinationBitset subset) { ArrayList<ColumnCombinationBitset> result = new ArrayList<>(); ArrayList<ColumnCombinationBitset> invertedColumns = graph.getExistingSubsets(subset.invert(numberOfColumns)); for (ColumnCombinationBitset bitset : invertedColumns) { result.add(bitset.invert(numberOfColumns)); } return result; } SuperSetGraph(int numberOfColumns); SuperSetGraph add(ColumnCombinationBitset columnCombination); SuperSetGraph addAll(Collection<ColumnCombinationBitset> columnCombinations); ArrayList<ColumnCombinationBitset> getExistingSupersets(ColumnCombinationBitset subset); boolean containsSuperset(ColumnCombinationBitset subset); boolean isEmpty(); @Override boolean equals(Object o); @Override int hashCode();  }### Answer:
@Test public void testGetExistingSupersets() { SuperSetGraph graph = fixture.getGraph(); ColumnCombinationBitset columnCombinationToQuery = fixture.getColumnCombinationForSupersetQuery(); List<ColumnCombinationBitset> actualSubsets = graph.getExistingSupersets(columnCombinationToQuery); assertThat(actualSubsets, IsIterableContainingInAnyOrder .containsInAnyOrder(fixture.getExpectedSupersetsFromQuery())); }