public void LoadXml(XElement data)
{
TeardownWorkflowDefinition();
var definition = new FunctionDefinition();
definition.LoadXml(data);
if (data != null)
{
definition.BeginInit();
var activities = data.Element("Activities").Elements();
foreach (var activity in activities.Select(ParseActivity).Where(a => a != null))
definition.AddItem(activity);
var links = data.Element("References").Elements();
foreach (var link in links.Select(ParseLink).Where(l => l != null))
definition.AddItem(link);
definition.EndInit();
}
Workflow = definition;
InitializeWorkflowDefinition();
}