title: Make mockito force method to return its value before process finish
body: <p>Is there a way to make mock or spy object from mockito to return its value before the method compete? for example if I have class like this</p>
  
  <pre><code>public class Calculator{
  
      public List calculate(List l){
          l.add(1);
          l.add(2);
          method1(l);
          method2(l);
          method3(l);
  
          return l;
      }
  
      public void method1(List l){
          //calculate something here
      }
  
      public void method2(List l){
          //calculate something here
      }
  
      public void method3(List l){
          //calculate something here
      }
  }
  </code></pre>
  
  <p>Then I use spy like this </p>
  
  <pre><code>Calculator calculator = new Calculator();
  Calculator spy = spy(calculator);
  when(spy.calculate(aList)).thenCallRealMethod();
  </code></pre>
  
  <p>Can I make the method to end its process after method2 called? I know I can use <code>doNothing().when(spy).method3(anyList())</code> to avoid method3 being called, but is there any way to make method calculate to stop its process after method 2 is called?</p>