private State StateTransitionResult(StateTransition transition)
 {
     return(this.stateTransitionTable[transition]);
 }
 /// <summary>
 /// Returns a value indicating whether this instance is equal to the specified <see cref="StateTransition"/>.
 /// </summary>
 /// <param name="other">The other state transition.</param>
 /// <returns>A boolean.</returns>
 public bool Equals(StateTransition other) =>
 this.CurrentState.Equals(other.CurrentState) &&
 this.Trigger.Equals(other.Trigger);
 private bool IsValidStateTransition(StateTransition transition) => this.stateTransitionTable.ContainsKey(transition);