         		var key_column_indices:Array = new Array(columns.length);
         		var data_column_index:int = columns.indexOf(variable_name);
 
-        		var tmp_key_type:String = key_column_names.join("");
+        		var tmp_key_type:String = WeaveAPI.CSVParser.createCSVRow(key_column_names);
         		var key_overrides:Object = keyTypeOverride.getSessionState();
         		if (key_overrides && key_overrides[tmp_key_type])
         		{


        	var newPromise:LinkablePromise = new LinkablePromise(function():*
        	{
        		weaveTrace("Promise called.");
				var idx:int;
        		var columns:Array = result[0] as Array;
        		var rows:Array = result as Array;


        	registerLinkableChild(proxyColumn, newPromise);
        	registerLinkableChild(newPromise, keyTypeOverride);

        	jsonCache.getJsonObject(getUrl(web_service, params), function (json_result:Object):void
        		{
        			result = json_result;
        			getCallbackCollection(newPromise).triggerCallbacks();
					newPromise.validate();
        		}
        	);
        }
