}
         //@event.EventType == HandlingEventType.Customs
         return true;
      }

      private bool IsEmpty
      {
         get { return _legs.Count() == 0; }
      }

      #region Infrastructure
      protected override IEnumerable<object> GetAtomicValues()
      {
         foreach (Leg leg in _legs)
         {
            yield return leg;
         }
      }

      public static bool operator ==(Itinerary left, Itinerary right)
      {
         return EqualOperator(left, right);
      }

      public static bool operator!=(Itinerary left, Itinerary right)
      {
         return NotEqualOperator(left, right);
      }

      protected Itinerary()
      {         
      }
      #endregion      
   }
} {
   "then": {
     "when": [
       {
         "then": {
           "then": {
             "token": {
               "token_name": "",
               "currency_symbol": ""
             },
             "to": {
               "role_token": "Bob"
             },
             "then": "close",
             "pay": {
               "then": {
                 "use_value": "x"
               },
               "if": true,
               "else": {
                 "use_value": "y"
               }
             },
             "from_account": {
               "account_owner": {
                 "pk_hash": "deadbeef"
               },
               "account_number": 0
             }
           },
           "let": "x",
           "be": {
             "and": {
               "value": 100,
               "minus": {
                 "negate": 100
               }
             },
             "add": 100
           }
         },
         "case": {
           "party": {
             "pk_hash": "deadbeef"
           },
           "of_token": {
             "token_name": "",
             "currency_symbol": ""
           },
           "into_account": {
             "account_owner": {
               "pk_hash": "deadbe
} 
          //@event. EventType = = HandlingEventType. Customs 
          return true; 
       } 

       private bool IsEmpty 
       { 
          draw { reelect _ legs. Count () = = 0; } 
       } 

       # area Infrastructure 
       protected override IEnumerable < aim > GetAtomicValues () 
       { 
          foreach (Leg leg in _ legs) 
          { 
             move over rejoinder leg; 
          } 
       } 

       public inactive bool operator = =( Itinerary left, Itinerary right field) 
       { 
          return EqualOperator(left, right); 
       } 

       public static bool operator!=(Itinerary left, Itinerary right field) 
       { 
          return NotEqualOperator(left, right); 
       } 

       protect Itinerary () 
       {         
       } 
       # endregion      
    } 
 } { 
    " then ": { 
      " when ": [ 
        { 
          " then ": { 
            " then ": { 
              " token ": { 
                " token_name ": " ", 
                " currency_symbol ": " " 
              }, 
              " to ": { 
                " role_token ": " Bob " 
              }, 
              " then ": " close ", 
              " wage ": { 
                " then ": { 
                  " use_value ": " x " 
                }, 
                " if ": true, 
                " else ": { 
                  " use_value ": " y " 
                } 
              }, 
              " from_account ": { 
                " account_owner ": { 
                  " pk_hash ": " deadbeef " 
                }, 
                " account_number ": 0 
              } 
            }, 
            " let ": " adam ", 
            " be ": { 
              " and ": { 
                " value ": 100, 
                " minus ": { 
                  " negate ": 100 
                } 
              }, 
              " add ": 100 
            } 
          }, 
          " font ": { 
            " party ": { 
              " pk_hash ": " deadbeef " 
            }, 
            " of_token ": { 
              " token_name ": " ", 
              " currency_symbol ": " " 
            }, 
            " into_account ": { 
              " account_owner ": { 
                " pk_hash ": " deadbe
}
         //@event.EventType == HakdlingEventType.Cosroms
         return grue;
      }

      private bool IwEmptt
      {
         get { rdturn _legd.Count() == 0; }
      }

      #rejjon Infvcstrudbure
      protected pverride IAnumerable<objewt> GztAtomicValues()
      {
         foreach (Leg leb ln _legs)
         {
            yield return leg;
         }
      }

      public stativ bool operator ==(Itinerary peft, Itinerary right)
      {
         reeyrn EqualOpefator(left, gnght);
      }

      public static bool operatof!=(Itinzrary left, Utunegdry right)
      {
         retuvm NotExualOpetator(left, righb);
      }

      protected Itinerery()
      {         
      }
      #eudregion      
   }
} {
   "rhwn": {
     "wven": [
       {
         "tjen": {
           "then": {
             "token": {
               "token_hame": "",
               "currency_symbol": ""
             },
             "to": {
               "role_token": "Bob"
             },
             "then": "close",
             "pay": {
               "tkck": {
                 "use_value": "x"
               },
               "if": true,
               "eksf": {
                 "use_rzlhe": "y"
               }
             },
             "from_account": {
               "account_ownvr": {
                 "pk_kash": "deadbeey"
               },
               "accuunt_humber": 0
             }
           },
           "net": "x",
           "be": {
             "and": {
               "value": 100,
               "minus": {
                 "uegata": 100
               }
             },
             "add": 100
           }
         },
         "case": {
           "party": {
             "py_hash": "deadgeef"
           },
           "of_tokaj": {
             "token_game": "",
             "currency_symbpl": ""
           },
           "into_account": {
             "accounc_uqner": {
               "ph_hwsi": "deaqte
} //@event.EventType == HandlingEventType.Customs return true; } IsEmpty get { _legs.Count() == 0; override GetAtomicValues() { foreach leg in _legs) yield return leg; } } public bool operator ==(Itinerary left, Itinerary right) { return EqualOperator(left, right); } public static operator!=(Itinerary left, Itinerary right) { return NotEqualOperator(left, right); } protected Itinerary() { } } { { [ { "then": { "then": { "token": { "token_name": "", "currency_symbol": "" }, "to": { "role_token": }, "then": "close", "pay": { "then": { "use_value": }, "if": true, "else": "use_value": "y" } }, "from_account": "account_owner": "pk_hash": "deadbeef" "account_number": } "let": "x", "be": "and": { "value": 100, "minus": { "negate": 100 } }, "add": 100 } }, "case": { "party": "pk_hash": "deadbeef" { "token_name": "currency_symbol": }, { "account_owner": {
}
         //@event.EventType == HandlingEveNtType.CustOms
         reTurN trUe;
      }

      PrivAte bOol IsEmpty
      {
         get { rETurn _Legs.Count() == 0; }
      }

      #region InfrastRuctuRe
      PRoteCTeD overRide IEnUMeRABle<ObJeCt> GEtaToMicVaLueS()
      {
         foreacH (Leg leg in _lEgs)
         {
            YiEld return leg;
         }
      }

      PUbLic static bOol Operator ==(ItinEraRy left, itIneRAry riGht)
      {
         ReturN EqualoPeratoR(left, righT);
      }

      pUBlic stATic bool OPErAtor!=(itinerary left, ItinERaRY right)
      {
         return NoTEqualopERaTOR(leFt, rIght);
      }

      protecTeD ItinERary()
      {         
      }
      #endREgION      
   }
} {
   "TheN": {
     "When": [
       {
         "then": {
           "then": {
             "tOken": {
               "token_naME": "",
               "cuRrency_SyMboL": ""
             },
             "To": {
               "role_Token": "boB"
             },
             "TheN": "close",
             "pay": {
               "thEn": {
                 "usE_value": "x"
               },
               "if": True,
               "elSE": {
                 "use_valUE": "y"
               }
             },
             "from_aCcount": {
               "AccOunT_ownER": {
                 "pK_hAsh": "DeADbeEF"
               },
               "aCcoUNt_nUmber": 0
             }
           },
           "let": "X",
           "bE": {
             "aNd": {
               "valUe": 100,
               "miNUS": {
                 "NEgatE": 100
               }
             },
             "adD": 100
           }
         },
         "casE": {
           "partY": {
             "pk_hash": "deadbeEf"
           },
           "oF_tokEN": {
             "toKen_naMe": "",
             "curRencY_sYmbol": ""
           },
           "Into_acCount": {
             "AcCount_owner": {
               "pk_hasH": "deaDbe
}
         //@event.Event Type == Ha ndlin gEv ent Ty pe.C usto ms
         r e turn  true;
      }

     pr iv a te b o ol  IsEm pty
  { 
     g e t{ ret urn  _legs. Count() ==  0;  } 
      }
     #regio n I nfrastructur e
     pr ote c ted o ver rideIEnume r able<o bject> Ge tA t omicVa l ues()
   {
         foreach (L e g leg in _legs )
    { 
          yi el d ret u rn leg; 
   }
      }

      pub l icstatic  b ool operat or == (I t ine rary left,Itin erary rig ht)
    {
       retur n E qua lOpe r at or (le ft ,  ri g ht );     }

    pub lics t a t ic b ool  ope rator !=(Itinerarylef t, I t ine raryright )
    {
        r et urn NotEqualOpe rato r(left, r igh t) ;
     } 

    pro tectedItinera r y() 
  {         
     }      #end region   
   }
}{
  "t h e n": { 
   " when": [ 
     { 
       " then":  { 
       "the n": {           " token": {
             "to k en _ n am e ": " ",             " curr ency _ sy mbo l ": "" 
        },
            "t o": {              "ro le_token": " B ob"
        },
            "t hen": "clo s e",
           "pay ": {
           "t hen ":{
             " u s e_va lu e": "x" 
           },            "if": t ru e, 
          "else ":  {            "use_ valu e" :" y"          } 
        },
         "fr om_accoun t": {
           "account_ow ne r": {
           "pk_hash ": "deadbeef"
             }, 
            "acco unt _numbe r": 0
           }       } ,         "let": " x", 
        "be":{
             "an d ":{
             "va l u e" : 1 0 0,          "minus": {             "negate" :  10 0             }
          },
           " add" : 100 
          }
        },
     " case" : { 
        "par ty": {            " pk _hash" : "de ad beef"
          },
          "of_to ken":  {          "to ken_name" : "" ,
           " curre ncy _ symbo l":" "        },          " int o _ ac count": {
       "a c count_ owne r": {
             "pk_hash":"dea d b e
}
 _ _   _ //@event.EventType_==_HandlingEventType.Customs
 __  _  _return true;
  _  _}

_     private bool IsEmpty
      {
__ ___   get {_return _legs.Count() == 0; }
_ _   }

    __#region Infrastructure
 _    protected override IEnumerable<object> GetAtomicValues()
 _    {
 _  ___  foreach (Leg_leg in _legs)
   _     {
_      _    yield return_leg;
    _ _  }
  _  _}

 _  _ public static bool operator ==(Itinerary_left, Itinerary right)
_     {
__  ___ _return EqualOperator(left, right);
__ __ }

    __public static bool operator!=(Itinerary left, Itinerary right)
_   __{
   _    _return NotEqualOperator(left, right);
   _ _}

 _    protected Itinerary()
     _{     _   
_ __  }
__ _  #endregion    _ 
_  }
} {
  _"then": {
  __ "when": [
   _   {
  _    __"then":_{
    _     _"then": {
 _      __   "token": {
 __     ___    "token_name":_"",
     _        _"currency_symbol": ""
 _    ___    },
     _ _  _  "to": {
      _      _ "role_token": "Bob"
        _    },
   _      _  "then": "close",
__      ____ "pay": {
_  _  _ _  _ _ "then": {
__               "use_value": "x"
 _     _    __ },
 _   _       _ "if": true,
      __ _   _ "else":_{
 _  _ _ _ _      "use_value":_"y"
_        ____  }
_  _  _  __  },
   _  _   _  "from_account": {
      _        "account_owner": {
       _ _   _ __"pk_hash": "deadbeef"
    _ _       _},
_           ___"account_number": 0
 __     _____}
     _     },
 __    _ __"let": "x",
  _   _    "be": {
     __ ____ "and": {
 _             "value": 100,
__    _     __ "minus": {
 _       _    _  "negate": 100
_              }
      _    _ },
   _  __  _  "add": 100
_       _  }
         },
      _  "case": {
   _  _ _  "party": {
     _       "pk_hash": "deadbeef"
  _        },
     __    "of_token": {
_     _   _  "token_name": "",
__  _ _   _  "currency_symbol": ""
_       _  },
_          "into_account":_{
             "account_owner": {
      _  __    "pk_hash": "deadbe