function mergeAll(targetAndSources, overwrite) {
	        var result = targetAndSources[0];
	        for (var i = 1, len = targetAndSources.length; i < len; i++) {
	            result = merge(result, targetAndSources[i], overwrite);
	        }
	        return result;
	    }
@param {Array} targetAndSources The first item is target, and the rests are source.
@param {boolean} [overwrite=false]
@return {*} target