### Question:
Pregel { public static <CONFIG extends PregelConfig> Pregel<CONFIG> create( Graph graph, CONFIG config, PregelComputation<CONFIG> computation, ExecutorService executor, AllocationTracker tracker ) { ImmutablePregelConfig.copyOf(config); return new Pregel<>( graph, config, computation, CompositeNodeValue.of(computation.nodeSchema(), graph.nodeCount(), config.concurrency(), tracker), executor, tracker ); } private  Pregel(
            final Graph graph,
            final CONFIG config,
            final PregelComputation<CONFIG> computation,
            final CompositeNodeValue initialNodeValues,
            final ExecutorService executor,
            final AllocationTracker tracker); static Pregel<CONFIG> create(
            Graph graph,
            CONFIG config,
            PregelComputation<CONFIG> computation,
            ExecutorService executor,
            AllocationTracker tracker
    ); static MemoryEstimation memoryEstimation(NodeSchema nodeSchema); PregelResult run(); void release();  }### Answer:
@Test void preventIllegalConcurrencyConfiguration() { var config = ImmutableHackerManConfig.builder() .maxIterations(1337) .concurrency(42) .build(); assertThrows(IllegalArgumentException.class, () -> Pregel.create( graph, config, new TestSendTo(), Pools.DEFAULT, AllocationTracker.empty() )); }