docs: def handoverCommand(SynchronizationIndication_presence=0,
                      FrequencyShortList_presence=0, FrequencyList_presence=0,
                      CellChannelDescription_presence=0,
                      MultislotAllocation_presence=0,
                      ChannelMode_presence=0, ChannelMode_presence1=0,
                      ChannelMode_presence2=0,
                      ChannelMode_presence3=0, ChannelMode_presence4=0,
                      ChannelMode_presence5=0,
                      ChannelMode_presence6=0, ChannelMode_presence7=0,
                      ChannelDescription_presence1=0, ChannelMode2_presence=0,
                      FrequencyChannelSequence_presence=0,
                      MobileAllocation_presence=0,
                      StartingTime_presence=0, TimeDifference_presence=0,
                      TimingAdvance_presence=0,
                      FrequencyShortList_presence1=0,
                      FrequencyList_presence1=0,
                      ChannelDescription2_presence=0,
                      ChannelDescription_presence2=0,
                      FrequencyChannelSequence_presence1=0,
                      MobileAllocation_presence1=0,
                      CipherModeSetting_presence=0,
                      VgcsTargetModeIdentication_presence=0,
                      MultiRateConfiguration_presence=0):
      """HANDOVER COMMAND Section 9.1.15"""
      name = "Handover Command"
      a = TpPd(pd=0x6)
      b = MessageType(mesType=0x2b)  # 00101011
      c = CellDescription()
      d = ChannelDescription2()
      e = HandoverReference()
      f = PowerCommandAndAccessType()
      packet = a / b / c / d / e / f
      if SynchronizationIndication_presence is 1:
          g = SynchronizationIndicationHdr(ieiSI=0xD, eightBitSI=0x0)
          packet = packet / g
      if FrequencyShortList_presence is 1:
          h = FrequencyShortListHdr(ieiFSL=0x02)
          packet = packet / h
      if FrequencyList_presence is 1:
          i = FrequencyListHdr(ieiFL=0x05, eightBitFL=0x0)
          packet = packet / i
      if CellChannelDescription_presence is 1:
          j = CellChannelDescriptionHdr(ieiCCD=0x62, eightBitCCD=0x0)
          packet = packet / j
      if MultislotAllocation_presence is 1:
          k = MultislotAllocationHdr(ieiMSA=0x10, eightBitMSA=0x0)
          packet = packet / k
      if ChannelMode_presence is 1:
          l = ChannelModeHdr(ieiCM=0x63, eightBitCM=0x0)
          packet = packet / l
      if ChannelMode_presence1 is 1:
          m = ChannelModeHdr(ieiCM=0x11, eightBitCM=0x0)
          packet = packet / m
      if ChannelMode_presence2 is 1:
          n = ChannelModeHdr(ieiCM=0x13, eightBitCM=0x0)
          packet = packet / n
      if ChannelMode_presence3 is 1:
          o = ChannelModeHdr(ieiCM=0x14, eightBitCM=0x0)
          packet = packet / o
      if ChannelMode_presence4 is 1:
          p = ChannelModeHdr(ieiCM=0x15, eightBitCM=0x0)
          packet = packet / p
      if ChannelMode_presence5 is 1:
          q = ChannelModeHdr(ieiCM=0x16, eightBitCM=0x0)
          packet = packet / q
      if ChannelMode_presence6 is 1:
          r = ChannelModeHdr(ieiCM=0x17, eightBitCM=0x0)
          packet = packet / r
      if ChannelMode_presence7 is 1:
          s = ChannelModeHdr(ieiCM=0x18, eightBitCM=0x0)
          packet = packet / s
      if ChannelDescription_presence1 is 1:
          s1 = ChannelDescriptionHdr(ieiCD=0x64, eightBitCD=0x0)
          packet = packet / s1
      if ChannelMode2_presence is 1:
          t = ChannelMode2Hdr(ieiCM2=0x66, eightBitCM2=0x0)
          packet = packet / t
      if FrequencyChannelSequence_presence is 1:
          u = FrequencyChannelSequenceHdr(ieiFCS=0x69, eightBitFCS=0x0)
          packet = packet / u
      if MobileAllocation_presence is 1:
          v = MobileAllocationHdr(ieiMA=0x72, eightBitMA=0x0)
          packet = packet / v
      if StartingTime_presence is 1:
          w = StartingTimeHdr(ieiST=0x7C, eightBitST=0x0)
          packet = packet / w
      if TimeDifference_presence is 1:
          x = TimeDifferenceHdr(ieiTD=0x7B, eightBitTD=0x0)
          packet = packet / x
      if TimingAdvance_presence is 1:
          y = TimingAdvanceHdr(ieiTA=0x7D, eightBitTA=0x0)
          packet = packet / y
      if FrequencyShortList_presence1 is 1:
          z = FrequencyShortListHdr(ieiFSL=0x12)
          packet = packet / z
      if FrequencyList_presence1 is 1:
          aa = FrequencyListHdr(ieiFL=0x19, eightBitFL=0x0)
          packet = packet / aa
      if ChannelDescription2_presence is 1:
          ab = ChannelDescription2Hdr(ieiCD2=0x1C, eightBitCD2=0x0)
          packet = packet / ab
      if ChannelDescription_presence2 is 1:
          ac = ChannelDescriptionHdr(ieiCD=0x1D, eightBitCD=0x0)
          packet = packet / ac
      if FrequencyChannelSequence_presence1 is 1:
          ad = FrequencyChannelSequenceHdr(ieiFCS=0x1E, eightBitFCS=0x0)
          packet = packet / ad
      if MobileAllocation_presence1 is 1:
          ae = MobileAllocationHdr(ieiMA=0x21, eightBitMA=0x0)
          packet = packet / ae
      if CipherModeSetting_presence is 1:
          af = CipherModeSettingHdr(ieiCMS=0x9, eightBitCMS=0x0)
          packet = packet / af
      if VgcsTargetModeIdentication_presence is 1:
          ag = VgcsTargetModeIdenticationHdr(ieiVTMI=0x01, eightBitVTMI=0x0)
          packet = packet / ag
      if MultiRateConfiguration_presence is 1:
          ah = MultiRateConfigurationHdr(ieiMRC=0x03, eightBitMRC=0x0)
          packet = packet / ah
      return packet