private IJob LoadJob(XmlJob xmlJob, JobBuilder jobBuilder) { FlowBuilder <FlowJobBuilder> jobFlowBuilder; XmlJobElement xmlElement = xmlJob.JobElements.First(); if (xmlElement is XmlStep) { jobFlowBuilder = jobBuilder.Flow(_stepsMap[xmlElement.Id]); } else { XmlFlow xmlFlow = xmlElement as XmlFlow; XmlSplit xmlSplit = xmlElement as XmlSplit; jobFlowBuilder = jobBuilder.Start(xmlFlow != null ? LoadFlow(xmlFlow) : LoadSplit(xmlSplit)); } HandleSubElements(jobFlowBuilder, xmlJob); return(jobFlowBuilder.End().Build()); }