<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Parse(self):
 """Iterator returning a list for each entry in history. We store all the download events in an array (choosing this over visits since there are likely to be less of them). We later interleave them with visit events to get an overall correct time order. Yields: a list of attributes for each entry """

    # Query for old style and newstyle downloads storage.
    query_iter = itertools.chain(
        self.Query(self.DOWNLOADS_QUERY), self.Query(self.DOWNLOADS_QUERY_2))

    results = []
    for timestamp, url, path, received_bytes, total_bytes in query_iter:
      timestamp = self.ConvertTimestamp(timestamp)
      results.append((timestamp, "CHROME_DOWNLOAD", url, path, received_bytes,
                      total_bytes))

    for timestamp, url, title, typed_count in self.Query(self.VISITS_QUERY):
      timestamp = self.ConvertTimestamp(timestamp)
      results.append((timestamp, "CHROME_VISIT", url, title, typed_count, ""))

    results.sort(key=lambda it: it[0])
    for it in results:
      yield it