def iter_items(self,  start_key=None, end_key=None, reverse=False):
<EOL>if self.is_empty():<EOL><INDENT>return []<EOL><DEDENT>if reverse:<EOL><INDENT>return self._iter_items_backward(start_key, end_key)<EOL><DEDENT>else:<EOL><INDENT>return self._iter_items_forward(start_key, end_key)<EOL><DEDENT>
Iterates over the (key, value) items of the associated tree,
        in ascending order if reverse is True, iterate in descending order,
        reverse defaults to False