anchor.diff:  			//Set the spec into the object as we need to pass in these values so that we can use them when proxying to the real function call
   			subObject.setSpecContext = function(spec,mockFunctionName,mockContextName){
   				//writeDump(var=arguments,label="setSpecContext #request.dumpc#");
  -				variables.specContext = {
  +				variables.specContext[arguments.mockFunctionName] = {
   					functionName:arguments.mockFunctionName,
   					contextName:arguments.mockContextName,
   					context:spec.tests[mockfunctionName]["#mockContextName#"]
  
positive.code: 					finalSubObject["_onMissingMethod"] = finalSubObject["onMissingMethod"];
  					mockFunctionName = "onMissingMethod";
  			}
  			//Now we can override the real method as a proxy, and call our former copy. This allows us to check the return value that it matches the spec
  			finalSubObject["#mockFunctionName#"] = function(){
  
  
  				if(structKeyExists(variables.specContext.context,"before") AND isClosure(variables.specContext.context.before))
  				{
  					variables.specContext.context.before();
  				}
  
  				
  				
  				if(structKeyExists(this,"#variables.specContext.functionName#"))
  				{
  					request.given = arguments;
  					result = evaluate("this._#variables.specContext.functionName#(argumentCollection=arguments)");
  					
  				}
  				else if(structKeyExists(this,"onMissingMethod")){
  
negative.code: 						if(resultType IS NOT returnType)
  						{
  							var collaboratorClass = getMetaData(this).fullname;
  							throw(message="The collaborator return value from #local.collaboratorClass# did not match its specification. It should have returned #local.activeContext.context.then.returns# but returned #resultType#. The tested specification was: #local.activeContext.functionName# #local.activeContext.contextName#");
  						}
  														
  					}
  					if(structKeyExists(local.activeContext.context.then,"assert"))
  					{
  
  						var assert = local.activeContext.context.then.assert;
  						
  						for(var i=1; i LTE arrayLen(assert); i =i+1)
  						{
  