public static <InputT, OutputT> OnTimerInvoker<InputT, OutputT> forTimer(
      DoFn<InputT, OutputT> fn, String timerId) {
    return ByteBuddyOnTimerInvokerFactory.only().forTimer(fn, timerId);
  }
@Test
  public void testStableName() {
    OnTimerInvoker<Void, Void> invoker =
        OnTimerInvokers.forTimer(
            new StableNameTestDoFn(), TimerDeclaration.PREFIX + StableNameTestDoFn.TIMER_ID);

    assertThat(
        invoker.getClass().getName(),
        equalTo(
            String.format(
                "%s$%s$%s$%s",
                StableNameTestDoFn.class.getName(),
                OnTimerInvoker.class.getSimpleName(),
                "tstimeridwithspecialChars" /* alphanum only; human readable but not unique */,
                "dHMtdGltZXItaWQud2l0aCBzcGVjaWFsQ2hhcnN7fQ" /* base64 encoding of UTF-8 timerId */)));
  }