code: def convert_to_flat(self, builder):
          
          physics_offset = None if self.physics is None else self.physics.convert_to_flat(builder)
  
          DesiredCarState.DesiredCarStateStart(builder)
          if physics_offset is not None:
              DesiredCarState.DesiredCarStateAddPhysics(builder, physics_offset)
          if self.boost_amount is not None:
              DesiredCarState.DesiredCarStateAddBoostAmount(builder, Float.CreateFloat(builder, self.boost_amount))
          if self.jumped is not None:
              DesiredCarState.DesiredCarStateAddJumped(builder, Bool.CreateBool(builder, self.jumped))
          if self.double_jumped is not None:
              DesiredCarState.DesiredCarStateAddDoubleJumped(builder, Bool.CreateBool(builder, self.double_jumped))
          return DesiredCarState.DesiredCarStateEnd(builder)
docs: In this conversion, we always want to return a valid flatbuffer pointer even if all the
          contents are blank because sometimes we need to put empty car states into the car list
          to make the indices line up.