code: function (config) {
  		config = config || {};
  
  		var data = config.data || "";
  		var lineSep = config.lineSeparator || DEFAULT_LINE_SEPARATOR;
  
  		var lines = data.split(lineSep);
  
  		var sections = {};
  		sections[GLOBAL_SECTION] = {};
  
  		var sectionOrder = [GLOBAL_SECTION];
  
  		var globalSection = sections[GLOBAL_SECTION];
  
  		var currentSection = globalSection;
  
  		lines.forEach(function (line) {
  			var lineType = _getLineType(line);
  
  			if (lineType.type === "section") {
  				sections[lineType.data] = {};
  				currentSection = sections[lineType.data];
  
  				sectionOrder.push(lineType.data);
  			} else if (lineType.type === "property") {
  				currentSection[lineType.data.key] = lineType.data.value;
  			}
  		});
  
  		return {
  			sections: sections,
  			sectionOrder: sectionOrder
  		};
  	}
docs: Parses INI/Property file format string data and returns appropriate JS objects
  Note: Private function
  @function
  @param   {object} [config={data}] Object hash having,
  1. 'data' - string text.
  2. 'lineSeparator' - default is "\n"
  @returns {object} On successfull parse returns an Object having,
  1. 'sections' - section 'titles' at top level and all properties within them as child properties for each section. A special section called '_global' will have global properties which don't come under any section.
  2. 'sectionOrder' - An array containing name of sections in the order they were defined in the ini/properties file