@Test
  public void testLocalMultiKeyExecution_byName() throws Exception {
    PartitionedRegion pr = createPartitionedRegion(regionName, 10, 0);

    Set<String> stringKeys = new HashSet<>();
    for (int i = pr.getTotalNumberOfBuckets() * 2; i > 0; i--) {
      stringKeys.add(STRING_KEY + i);
    }

    int valueIndex = 0;
    for (String key : stringKeys) {
      int value = valueIndex++;
      pr.put(key, value);
    }

    Function function = new TestFunction(true, TEST_FUNCTION9);
    FunctionService.registerFunction(function);
    Execution execution = FunctionService.onRegion(pr);

    ResultCollector<Boolean, List<Boolean>> resultCollector1 =
        execution.withFilter(stringKeys).setArguments(true).execute(function.getId());
    List<Boolean> results = resultCollector1.getResult();
    assertThat(results).hasSize(1).containsExactly(true);

    ResultCollector<List<Integer>, List<List<Integer>>> resultCollector2 =
        execution.withFilter(stringKeys).setArguments(stringKeys).execute(function.getId());
    List<List<Integer>> valuesResults = resultCollector2.getResult();
    assertThat(valuesResults).hasSize(pr.getTotalNumberOfBuckets() * 2);
  }
Test ability to execute a multi-key function by a local data store
<p>
TODO: extract to IntegrationTest
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/PRFunctionExecutionWithResultSenderDUnitTest.java