protected void WriteCompositeTask(CompositeTaskDef t)
 {
     WriteLine("composite_task \"{0}\":", t.Id);
     Indent(() =>
     {
         if (t.ExtensionProperties != null)
         {
             WriteMeta(t.ExtensionProperties);
         }
         foreach (var vd in t.Variables)
         {
             WriteVariable(vd);
         }
         foreach (var pl in t.Places)
         {
         }
         foreach (var tsk in t.Tasks)
         {
             if (tsk is CompositeTaskDef)
             {
                 WriteCompositeTask((CompositeTaskDef)tsk);
             }
             else
             {
                 WriteAtomicTask((AtomicTaskDef)tsk);
             }
         }
         foreach (var fl in t.Flows)
         {
         }
     });
 }
 protected void GenerateScript(CompositeTaskDef ct)
 {
     GenerateBaseTaskScripts(ct);
     foreach (var fl in ct.Flows)
     {
         if (!string.IsNullOrEmpty(fl.InputCondition))
         {
             GenCondition(DslUtil.FlowConditionKey(ct.Id, fl.From, fl.To), fl.InputCondition);
         }
     }
     foreach (var t in ct.Tasks)
     {
         GenerateScript(t);
     }
 }