@Test(expected = ValidationException.class)
    public void parallelState_WithCycles_IsNotValid() {
        assertCycle(stateMachine()
                            .startAt("Parallel")
                            .state("Parallel", parallelState()
                                    .branch(branch()
                                                    .startAt("BranchOneInitial")
                                                    .state("BranchOneInitial", passState()
                                                            .transition(next("CyclicState")))
                                                    .state("CyclicState", passState()
                                                            .transition(next("BranchOneInitial"))))
                                    .transition(end())));
    }
While the nested ChoiceTwo state only has cycles, it has a cycle out of the choice state to
a state that contains a path to a terminal. The validator doesn't validate that the path out actually
has a path to the terminal so there are some invalid state machines that will pass validation.
aws-java-sdk-stepfunctions/src/test/java/com/amazonaws/services/stepfunctions/builder/internal/validation/CycleTest.java