public void Apply(IInterceptedFakeObjectCall fakeObjectCall) { fakeObjectCall.DoNotRecordCall(); this.recordedRule.ApplicableToMethod = fakeObjectCall.Method; if (this.recordedRule.IsApplicableToArguments == null) { this.CreateArgumentsPredicateFromArguments(fakeObjectCall); } if (this.recordedRule.IsAssertion) { this.DoAssertion(fakeObjectCall); } this.fakeManager.AddRuleFirst(this.recordedRule); fakeObjectCall.SetReturnValue(Helpers.GetDefaultValueOfType(fakeObjectCall.Method.ReturnType)); }