if (direction == TransitionEvent.Direction.RISE) {
                if ((previousState != Signal.State.LOW) && (previousState != Signal.State.UNSTABLE)) {
                    consistent = false;
                }
            } else if (direction == TransitionEvent.Direction.FALL) {