title: Wierd mockito InvalidUseOfMatchersException when calling mock from some method
body: <pre><code>import org.mockito.Mockito;
  
  public class Scratch2 {
  public static class Foo {
  }
  
  public interface Custom {
      public void someMethod(String arg1, String arg2, String arg3,
              String arg4);
  }
  
  public static class SomeClass {
  
      private final Custom custom;
  
      public SomeClass(Custom c) {
          this.custom = c;
      }
  
      public boolean run(Foo someFoo) {
          custom.someMethod("Dummy", "Dummy", "Dummy", "Dummy");
          return false;
      }
  }
  
  public static void callSomeMethod(Custom custom) {
      custom.someMethod("Dummy", "Dummy", "Dummy", "Dummy");
  }
  
  public static void main(String[] args) {
      Custom mock = Mockito.mock(Custom.class);
      SomeClass c = new SomeClass(mock);
      callSomeMethod(Mockito.mock(Custom.class));
      c.run(Mockito.any(Foo.class));
  
  }
  }
  </code></pre>
  
  <p>If we mock the custom interface and call someMethod on it directly there is no problem.
  But using the run() gives the following error: </p>
  
  <p>==========</p>
  
  <p>Exception in thread "main"
  org.mockito.exceptions.misusing.InvalidUseOfMatchersException: Invalid use of argument
  matchers! 4 matchers expected, 1 recorded: -> at
  com.knewton.scratch.Scratch2.main(Scratch2.java:37)</p>
  
  <p>This exception may occur if matchers are combined with raw values: //incorrect:
  someMethod(anyObject(), "raw String"); When using matchers, all arguments have to be
  provided by matchers. For example: //correct: someMethod(anyObject(),
  eq("String by matcher"));</p>
  
  <p>For more info see javadoc for Matchers class.</p>
  
  <p>at com.knewton.scratch.Scratch2$SomeClass.run(Scratch2.java:24) at
  com.knewton.scratch.Scratch2.main(Scratch2.java:37)</p>
  
  <p>===========</p>
  
  <p>This is on mockito 1.9.5</p>