I haven't used OCMockito before (have recently been using OCMock) so this is just a guess, but are you simply missing the third argument?
Looks like OCMockito is looking for the third object in an array, and it looks like you have set only two arguments.
Does it work if you replace:
[stubStepThree willReturn:mock([NSDictionary class])];
with
id stubStepFour = [stubStepThree withMatcher:anything() forArgument:3];
[stubStepFour willReturn:mock([NSDictionary class])];