next = function () {
								if (fileList.length) {
									var f = fileList.shift();
									reader(f, function (err, content) {
										if (err) {
											logger.log('Unable to read "' + f + '" file: ' + err);
											return next();
										}

										switch (file.getExt(f)) {
											case 'js':
												try {
													eval(content);
												} catch (e) {
													logger.log('Unable to eval "' + f + '" file: ' + e);
												}
												break;
											case 'json':
												var fileName = getFileName(f).toLowerCase().replace(/\.json$/, '');
												content = utils.parseJSON(content);
												if (/^snippets/.test(fileName)) {
													if (fileName === 'snippets') {
														// data in snippets.json is more important to user
														userSnippets = content;
													} else {
														payload.snippets = utils.deepMerge(payload.snippets || {}, content);
													}
												} else {
													payload[fileName] = content;
												}

												break;
										}

										next();
									});
								} else {
									// complete
									if (userSnippets) {
										payload.snippets = utils.deepMerge(payload.snippets || {}, userSnippets);
									}

									that.loadUserData(payload);
								}
							}
Loads Emmet extensions. Extensions are simple .js files that
uses Emmet modules and resources to create new actions, modify
existing ones etc.
@param {Array} fileList List of absolute paths to files in extensions
folder. Back-end app should not filter this list (e.g. by extension)
but return it "as-is" so bootstrap can decide how to load contents
of each file.
This method requires a <code>file</code> module of <code>IEmmetFile</code>
interface to be implemented.
@memberOf bootstrap