code: def time_report(self, source=None, **kwargs):
          
          if source is None:
              api_calls = [self[-1]]
          elif isinstance(source, list):
              api_calls = source
          elif source is None:
              api_calls = self.values()
          elif isinstance(source, ApiCall):
              api_calls = [source]
          else:
              api_calls = self[source]
              if not isinstance(api_calls, list):
                  api_calls = [api_calls]
          return '\n\n'.join([repr(api_call.time_report(**kwargs)
                                   for api_call in api_calls)])
docs: This will generate a time table for the source api_calls
          :param source: obj this can be an int(index), str(key), slice,
          list of api_calls or an api_call
          :return: ReprListList