public override State Build(State parent)
{
RootState root = new RootState();
((StateBuilderContext)Context).SetRootState(root);
foreach (IStateBuilder substate in SubStates)
{
root.AddChildState(substate.Build(root));
}
foreach (Action<State> action in secondPassActions)
{
action(root);
}
this.VisitChildren(sb => sb.Build(root));
return root;
}
}