### Question:
BaseBronKerboschCliqueFinder implements MaximalCliqueEnumerationAlgorithm<V, E> { public Iterator<Set<V>> maximumIterator() { lazyRun(); return allMaximalCliques.stream().filter(c -> c.size() == maxSize).iterator(); } BaseBronKerboschCliqueFinder(Graph<V, E> graph, long timeout, TimeUnit unit); @Override Iterator<Set<V>> iterator(); Iterator<Set<V>> maximumIterator(); boolean isTimeLimitReached();  }### Answer:
@Test public void testFindBiggest() { SimpleGraph<String, DefaultEdge> g = new SimpleGraph<>(DefaultEdge.class); createGraph(g); BaseBronKerboschCliqueFinder<String, DefaultEdge> finder = createFinder1(g); Collection<Set<String>> cliques = new HashSet<>(); finder.maximumIterator().forEachRemaining(cliques::add); assertEquals(2, cliques.size()); Set<Set<String>> expected = new HashSet<>(); Set<String> set = new HashSet<>(); set.add(V1); set.add(V2); set.add(V3); set.add(V4); expected.add(set); set = new HashSet<>(); set.add(V1); set.add(V2); set.add(V9); set.add(V10); expected.add(set); Set<Set<String>> actual = new HashSet<>(cliques); assertEquals(expected, actual); }