protected virtual Transition BeginTransitionForCause(OperationContext context, QualifiedName causeName)
{
foreach (Transition transition in m_transitions)
{
if (transition.FromState == m_currentStateName)
{
foreach (MethodSource cause in transition.Causes)
{
if (cause.BrowseName == causeName)
{
return transition;
}
}
}
}
throw ServiceResultException.Create(
StatusCodes.BadMethodInvalid,
"Method {0} cannot be used while in the {1} State.",
causeName.Name,
m_currentStateName.DisplayName);
}