public abstract Task<Map<K, Try<T>>> taskForBatch(G group, Set<K> keys);
@Test
  public void testEntriesMissingInReturnedMap() {
    RecordingTaskStrategy<Integer, Integer, String> strategy =
        new RecordingTaskStrategy<Integer, Integer, String>(key -> Success.of(String.valueOf(key)), key -> key % 2) {

      @Override
          public Task<Map<Integer, Try<String>>> taskForBatch(Integer group, Set<Integer> keys) {
            return super.taskForBatch(group, keys).andThen(map -> map.remove(1));
          }
    };

    _batchingSupport.registerStrategy(strategy);

    Task<String> task = Task.par(strategy.batchable(0), strategy.batchable(1).recover(e -> "missing"), strategy.batchable(2))
        .map("concat", (s0, s1, s2) -> s0 + s1 + s2);

    String result = runAndWait("TestTaskBatchingStrategy.testEntriesMissingInReturnedMap", task);

    assertEquals(result, "0missing2");
    assertTrue(strategy.getClassifiedKeys().contains(0));
    assertTrue(strategy.getClassifiedKeys().contains(1));
    assertTrue(strategy.getClassifiedKeys().contains(2));
    assertEquals(strategy.getExecutedBatches().size(), 1);
    assertEquals(strategy.getExecutedSingletons().size(), 1);
  }