public Set<Transition<TransitionInput>> findValidTransitions(TransitionInput input) {
		Set<Transition<TransitionInput>> validTransitions = new HashSet<>();

		for(Transition<TransitionInput> transition : transitions) {
			if(transition.isValid(input)) {
				validTransitions.add(transition);
			}
		}

		return validTransitions;
	}