public static long findAndVerifyWindowGrace(final GraphNode graphNode) {
        return findAndVerifyWindowGrace(graphNode, "");
    }
@Test
    public void shouldUseMaxIfMultiParentsDoNotAgreeOnGrace() {
        final StatefulProcessorNode<String, Long> leftParent = new StatefulProcessorNode<>(
            "asdf",
            new ProcessorParameters<>(
                new KStreamSessionWindowAggregate<String, Long, Integer>(
                    SessionWindows.ofInactivityGapAndGrace(ofMillis(10L), ofMillis(1234L)),
                    "asdf",
                    EmitStrategy.onWindowUpdate(),
                    null,
                    null,
                    null
                ),
                "asdf"
            ),
            (StoreFactory) null
        );

        final StatefulProcessorNode<String, Long> rightParent = new StatefulProcessorNode<>(
            "asdf",
            new ProcessorParameters<>(
                new KStreamWindowAggregate<String, Long, Integer, TimeWindow>(
                    TimeWindows.ofSizeAndGrace(ofMillis(10L), ofMillis(4321L)),
                    "asdf",
                    EmitStrategy.onWindowUpdate(),
                    null,
                    null
                ),
                "asdf"
            ),
            (StoreFactory) null
        );

        final ProcessorGraphNode<String, Long> node = new ProcessorGraphNode<>("stateless", null);
        leftParent.addChild(node);
        rightParent.addChild(node);

        final long extracted = GraphGraceSearchUtil.findAndVerifyWindowGrace(node);
        assertThat(extracted, is(4321L));
    }