title: Problem with ArgumentCaptor and consecutive call to same methods (bug or feature?)
body: <p>I'm having a problem with ArgumentCaptor not being able to record the 
  arguments when calling the same method a number of times. 
  Basically this does not seem to work: </p>
  
  <pre><code>List&lt;Dummy&gt; mList = mock(List.class);
  Dummy dummy = new Dummy();
  when(mList.get(anyInt())).thenReturn(dummy);
  
  Dummy d = mList.get(12);
  d.setName("John");
  mList.add(d);
  
  Dummy g = mList.get(10);
  g.setName("Ben");
  mList.add(g);
  ...
  
  verify(mymock, times(3)).doStuff(captor.capture)); 
  assertEquals("John", captor.getAllValues().get(0).getName()); 
  assertEquals("Ben", captor.getAllValues().get(1).getName()); 
  assertEquals("Don", captor.getAllValues().get(2).getName()); 
  </code></pre>
  
  <p>The value of getName() is always set to "Don". 
  I have also tried using InOrder, with the same outcome.</p>
  
  <p>Feature (and me stupiud) or bug? </p>
  
  <p>To better explain the issue I have created a use case: 
  <a href="http://pastebin.com/RE1UzJ4F" rel="nofollow noreferrer">http://pastebin.com/RE1UzJ4F</a> </p>
  
  <p>Cheers </p>