nodes: 0, module; 1, function_definition; 2, function_name:_rows_sort; 3, parameters; 4, block; 5, identifier:self; 6, identifier:rows; 7, expression_statement; 8, return_statement; 9, comment:"""
          Returns a list of rows sorted by start and end date.
  
          :param list[dict[str,T]] rows: The list of rows.
  
          :rtype: list[dict[str,T]]
          """; 10, call; 11, identifier:sorted; 12, argument_list; 13, identifier:rows; 14, keyword_argument; 15, identifier:key; 16, lambda; 17, lambda_parameters; 18, tuple; 19, identifier:row; 20, subscript; 21, subscript; 22, identifier:row; 23, attribute; 24, identifier:row; 25, attribute; 26, identifier:self; 27, identifier:_key_start_date; 28, identifier:self; 29, identifier:_key_end_date
code: def _rows_sort(self, rows):
          """
          Returns a list of rows sorted by start and end date.
  
          :param list[dict[str,T]] rows: The list of rows.
  
          :rtype: list[dict[str,T]]
          """
          return sorted(rows, key=lambda row: (row[self._key_start_date], row[self._key_end_date]))