whole_func_string: function camelCaseObjectKeys(obj) {
  	var newObj = (Array.isArray(obj)) 
  		? new Array(obj.length)
  		: {};
  	
  	utils.map(obj, function (key, value) {
  		var newKey;
  		
  		if (typeof(key) === 'string') {
  			newKey = key.replace(/-([a-z]{1})/gi, function (_, letter) { return letter.toUpperCase() })
  		}
  		else {
  			newKey = key;
  		}
  		
  		if (typeof(value) === 'object') {
  			newObj[newKey] = camelCaseObjectKeys(value);
  		}
  		else {
  			newObj[newKey] = value;
  		}
  	});
  	
  	if (!Object.keys(newObj).length) {
  		newObj = null;
  	}
  	
  	return newObj;
  }
func_code_string: function camelCaseObjectKeys(obj) {
  	var newObj = (Array.isArray(obj)) 
  		? new Array(obj.length)
  		: {};
  	
  	utils.map(obj, function (key, value) {
  		var newKey;
  		
  		if (typeof(key) === 'string') {
  			newKey = key.replace(/-([a-z]{1})/gi, function (_, letter) { return letter.toUpperCase() })
  		}
  		else {
  			newKey = key;
  		}
  		
  		if (typeof(value) === 'object') {
  			newObj[newKey] = camelCaseObjectKeys(value);
  		}
  		else {
  			newObj[newKey] = value;
  		}
  	});
  	
  	if (!Object.keys(newObj).length) {
  		newObj = null;
  	}
  	
  	return newObj;
  }
func_documentation_string: /*
  Process an object and replace key names with camel cased key names
  
  @param {Object} obj
  @return {Object}
  @api private