code: def insert_conversion_steps_at_beginning(self, converters: List[Converter], inplace: bool = False):
          
          if inplace:
              for converter in reversed(converters):
                  self.insert_conversion_step_at_beginning(converter, inplace=True)
              return
          else:
              new = copy(self)
              for converter in reversed(converters):
                  # do inplace since it is a copy
                  new.insert_conversion_step_at_beginning(converter, inplace=True)
              return new
docs: Utility method to insert converters at the beginning ofthis chain. If inplace is True, this object is modified
          and  None is returned. Otherwise, a copy is returned
  
          :param converters: the list of converters to insert
          :param inplace: boolean indicating whether to modify this object (True) or return a copy (False)
          :return: None or a copy with the converters added