title: Max recursion depth while trying to mock instance method
body: <p>I want to mock an instance method. First I want to modify the arguments and then I want to call the original method.</p>
  
  <p>I tried this:</p>
  
  <pre><code>import mock
  
  class Foo(object):
      def my_method(data):
          print(data)
  
  def wrapped_method(data):
      return Foo.my_method(data.replace('x', 'o'))
  
  with mock.patch.object(Foo, 'my_method', wraps=wrapped_method):
      foo = Foo()
      foo.my_method('axe')  # should print "aoe"
  </code></pre>
  
  <p>But I get this exception:</p>
  
  <pre><code>/home/foo/bin/python /home/foo/src/wrap-instance-method.py
  Traceback (most recent call last):
    File "/home/foo/src/wrap-instance-method.py", line 15, in &lt;module&gt;
      foo.my_method('axe')  # should print "aoe"
    File "/home/foo/local/lib/python2.7/site-packages/mock.py", line 955, in __call__
      return _mock_self._mock_call(*args, **kwargs)
    File "/home/foo/local/lib/python2.7/site-packages/mock.py", line 1024, in _mock_call
      return self._mock_wraps(*args, **kwargs)
  .....
      return self._mock_wraps(*args, **kwargs)
    File "/home/foo/src/wrap-instance-method.py", line 10, in wrapped_method
      return Foo.my_method(data.replace('x', 'o'))
    File "/home/foo/local/lib/python2.7/site-packages/mock.py", line 955, in __call__
      return _mock_self._mock_call(*args, **kwargs)
    File "/home/foo/local/lib/python2.7/site-packages/mock.py", line 960, in _mock_call
      self.called = True
  RuntimeError: maximum recursion depth exceeded while calling a Python object
  
  Process finished with exit code 1
  </code></pre>
  
  <p>How can I call the original method which was wrapped without recursion exception?</p>