code: def addMeal(self, date, category, name, notes=None, prices=None,
                  roles=None):
          
          if self.legendData:  # do legend extraction
              name, notes = extractNotes(name, notes or [],
                                         legend=self.legendData,
                                         key=self.legendKeyFunc,
                                         regex=self.extra_regex)
          prices = buildPrices(prices or {}, roles,
                               default=self.additionalCharges[0],
                               additional=self.additionalCharges[1])
          if len(name) > 250:
              name = name[:247] + '...'
          super(LazyBuilder, self).addMeal(extractDate(date), category, name,
                                           notes or [], prices)
docs: Same as :py:meth:`.BaseBuilder.addMeal` but uses
              helper functions to convert input parameters into needed types.
              Meals names are auto-shortend to the allowed 250 characters.
              The following paramer is new:
  
              :param roles:  Is passed as role parameter to :func:`buildPrices`