function instrument(oConfiguration, fnSuccess){
		var bBranchTracking = blanket.options("branchTracking"),
			iFileIndex = aFileNames.length,
			sFileName = oConfiguration.inputFileName,
			iNoOfOutputLines,
			sScriptInput = oConfiguration.inputFile,
			sScriptOutput;

		aFileNames.push(sFileName);
		aStatistics[iFileIndex] = _$blanket[sFileName] = []; // hits
		if (bBranchTracking) {
			_$blanket[sFileName].branchTracking = [];
		}
		_$blanket[sFileName].source = sScriptInput.split("\n");
		_$blanket[sFileName].source.unshift(""); // line 0 does not exist!
		_$blanket[sFileName].warnings = [];

		sScriptOutput = "" + falafel(sScriptInput, {
//				attachComment : true, // interesting for meta comments!
//				comment : true,
				loc : true,
				range : true,
				source : sScriptInput // is simply attached to each Location
//				tokens : false,
//				tolerant : false
			}, visit.bind(null, bBranchTracking, iFileIndex));

		iNoOfOutputLines = sScriptOutput.split("\n").length + 1; // account for line 0 here as well
		if (iNoOfOutputLines !== _$blanket[sFileName].source.length) {
			warn(sFileName, "Line length mismatch! " + _$blanket[sFileName].source.length + " vs. "
				+ iNoOfOutputLines);
		}

		fnSuccess(sScriptOutput);
	}
Replacement for Blanket.js' <code>instrument</code> function.

@param {object} oConfiguration
  Configuration object
@param {string} oConfiguration.inputFile
  The current file's original source code
@param {string} oConfiguration.inputFileName
  The current file's name
@param {function} fnSuccess
  Success handler, called with resulting instrumented source code