def find_return_with_argument(self, node):
        """Finds and returns a return statment that has an argument.

        Note that we should use node.returns in Python 3, but this method is never called in Python 3 so we don't bother
        checking.

        """
        for item in node.body:
            if isinstance(item, ast.Return) and item.value:
                return item
            elif not isinstance(item, ast.FunctionDef) and hasattr(item, 'body'):
                return_with_argument = self.find_return_with_argument(item)
                if return_with_argument:
                    return return_with_argument
Finds and returns a return statment that has an argument.

        Note that we should use node.returns in Python 3, but this method is never called in Python 3 so we don't bother
        checking.