nodes: 0, module; 1, function_definition; 2, function_name:items; 3, parameters; 4, block; 5, identifier:self; 6, expression_statement; 7, return_statement; 8, comment:"""Get all the message's header fields and values.
  
          These will be sorted in the order they appeared in the original
          message, or were added to the message, and may contain duplicates.
          Any fields deleted and re-inserted are always appended to the header
          list.
          """; 9, list_comprehension; 10, tuple; 11, for_in_clause; 12, identifier:k; 13, call; 14, pattern_list; 15, attribute; 16, attribute; 17, argument_list; 18, identifier:k; 19, identifier:v; 20, identifier:self; 21, identifier:_headers; 22, attribute; 23, identifier:header_fetch_parse; 24, identifier:k; 25, identifier:v; 26, identifier:self; 27, identifier:policy
code: def items(self):
          """Get all the message's header fields and values.
  
          These will be sorted in the order they appeared in the original
          message, or were added to the message, and may contain duplicates.
          Any fields deleted and re-inserted are always appended to the header
          list.
          """
          return [(k, self.policy.header_fetch_parse(k, v))
                  for k, v in self._headers]