public static DoFnInstanceManager cloningPool(DoFnInfo<?, ?> info, PipelineOptions options) {
    return new ConcurrentQueueInstanceManager(info, options);
  }
@Test
  public void testCloningPoolMultipleOutstanding() throws Exception {
    DoFnInfo<?, ?> info =
        DoFnInfo.forFn(
            initialFn,
            WindowingStrategy.globalDefault(),
            null /* side input views */,
            null /* input coder */,
            new TupleTag<>(PropertyNames.OUTPUT) /* main output id */,
            DoFnSchemaInformation.create(),
            Collections.emptyMap());

    DoFnInstanceManager mgr = DoFnInstanceManagers.cloningPool(info, options);

    DoFnInfo<?, ?> firstInfo = mgr.get();
    DoFnInfo<?, ?> secondInfo = mgr.get();

    assertThat(firstInfo, not(Matchers.<DoFnInfo<?, ?>>theInstance(secondInfo)));
    assertThat(firstInfo.getDoFn(), not(theInstance(secondInfo.getDoFn())));
  }