def _handle_ls(self):
        """ Handles the ls subsubcommand. """
        try:
            arg1 = self.argument(1)
            arg2 = self.argument(2)

            todos = []
            if arg2 == 'to' or arg1 == 'before':
                # dep ls 1 to OR dep ls before 1
                number = arg1 if arg2 == 'to' else arg2
                todo = self.todolist.todo(number)
                todos = self.todolist.children(todo)
            elif arg1 in {'to', 'after'}:
                # dep ls to 1 OR dep ls after 1
                number = arg2
                todo = self.todolist.todo(number)
                todos = self.todolist.parents(todo)
            else:
                raise InvalidCommandArgument

            sorter = Sorter(config().sort_string())
            instance_filter = Filter.InstanceFilter(todos)
            view = View(sorter, [instance_filter], self.todolist)
            self.out(self.printer.print_list(view.todos))
        except InvalidTodoException:
            self.error("Invalid todo number given.")
        except InvalidCommandArgument:
            self.error(self.usage())
Handles the ls subsubcommand.