 		{
 			loc.modelPath = ListGetAt(arguments.modelPaths, loc.i);
 			loc.fileName = $objectFileName(name=arguments.name, objectPath=loc.modelPath, type=arguments.type);
-		
+
 			if (loc.fileName != arguments.type || loc.i == ListLen(arguments.modelPaths))
 			{
 				application.wheels.models[arguments.name] = $createObjectFromRoot(path=loc.modelPath, fileName=loc.fileName, method="$initModelClass", name=arguments.name);

	<cfargument name="type" type="string" required="false" default="controller" />
	<cfscript>
		var loc = {};
		
		// let's allow for multiple controller paths so that plugins can contain controllers
		// the last path is the one we will instantiate the base controller on if the controller is not found on any of the paths
		for (loc.i = 1; loc.i lte ListLen(arguments.controllerPaths); loc.i++)
		{
			loc.controllerPath = ListGetAt(arguments.controllerPaths, loc.i);
			loc.fileName = $objectFileName(name=arguments.name, objectPath=loc.controllerPath, type=arguments.type);
		
			if (loc.fileName != "Controller" || loc.i == ListLen(arguments.controllerPaths))
			{
				application.wheels.controllers[arguments.name] = $createObjectFromRoot(path=loc.controllerPath, fileName=loc.fileName, method="$initControllerClass", name=arguments.name);

	<cfscript>
		var loc = {};
		loc.returnValue = "";
		loc.keyList = ListSort(StructKeyList(arguments), "textnocase", "asc");

		// we need to make sure we are looping through the passed in arguments the same everytime
		for (loc.i = 1; loc.i lte ListLen(loc.keyList); loc.i++)
		{
			loc.value = arguments[ListGetAt(loc.keyList, loc.i)];

			// for ( in ) can pass around undefined values so we need to check that the variables exists
			if (StructKeyExists(loc, "value"))
			{
				// SerializeJSON crashes if a query contains binary data
				// a workaround is to use cfwddx
				if(IsQuery(loc.value))
					loc.value = $wddx(input=loc.value);

				if (IsSimpleValue(loc.value))
					loc.returnValue = loc.returnValue & loc.value;
				else
					loc.returnValue = loc.returnValue & ListSort(ReplaceList(SerializeJSON(loc.value), "{,}", ","), "text");
			}
		}
		return Hash(loc.returnValue);
	</cfscript>
</cffunction>

