ReshuffleTriggerStateMachine extends TriggerStateMachine { public static ReshuffleTriggerStateMachine create() { return new ReshuffleTriggerStateMachine(); } private  ReshuffleTriggerStateMachine(); static ReshuffleTriggerStateMachine create(); @Override void onElement(TriggerStateMachine.OnElementContext c); @Override void onMerge(TriggerStateMachine.OnMergeContext c); @Override boolean shouldFire(TriggerStateMachine.TriggerContext context); @Override void onFire(TriggerStateMachine.TriggerContext context); @Override String toString();  }
@Test public void testOnTimer() throws Exception { TriggerStateMachineTester<Integer, IntervalWindow> tester = TriggerStateMachineTester.forTrigger( ReshuffleTriggerStateMachine.create(), FixedWindows.of(Duration.millis(100))); IntervalWindow arbitraryWindow = new IntervalWindow(new Instant(100), new Instant(200)); tester.fireIfShouldFire(arbitraryWindow); assertFalse(tester.isMarkedFinished(arbitraryWindow)); }