nodes: 0, module; 1, function_definition; 2, function_name:sort; 3, parameters; 4, block; 5, identifier:self; 6, default_parameter; 7, default_parameter; 8, default_parameter; 9, expression_statement; 10, if_statement; 11, expression_statement; 12, identifier:cmp; 13, None; 14, identifier:key; 15, None; 16, identifier:reverse; 17, False; 18, comment:"""Overrides sort func to use the KeyValue for the key."""; 19, boolean_operator; 20, block; 21, call; 22, not_operator; 23, attribute; 24, expression_statement; 25, attribute; 26, argument_list; 27, identifier:key; 28, identifier:self; 29, identifier:_keys; 30, assignment; 31, call; 32, identifier:sort; 33, keyword_argument; 34, keyword_argument; 35, keyword_argument; 36, identifier:key; 37, attribute; 38, identifier:super; 39, argument_list; 40, identifier:cmp; 41, identifier:cmp; 42, identifier:key; 43, identifier:key; 44, identifier:reverse; 45, identifier:reverse; 46, identifier:self; 47, identifier:KeyValue; 48, identifier:CliTable; 49, identifier:self
code: def sort(self, cmp=None, key=None, reverse=False):
          """Overrides sort func to use the KeyValue for the key."""
          if not key and self._keys:
              key = self.KeyValue
          super(CliTable, self).sort(cmp=cmp, key=key, reverse=reverse)