code: private static ScriptRunner getRunner() throws IOException {
  		if (sharedRunner.get() == null) {
  			//create JavaScript runner
  			ScriptRunner runner = ScriptRunnerFactory.createRunner();
  			
  			//load bundled scripts
  			try {
  				runner.loadScript(CSL.class.getResource("dump.js"));
  				runner.loadScript(CSL.class.getResource("citeproc.js"));
  				runner.loadScript(CSL.class.getResource("formats.js"));
  				runner.loadScript(CSL.class.getResource("loadsys.js"));
  			} catch (ScriptRunnerException e) {
  				//should never happen because bundled JavaScript files
  				//should be OK indeed
  				throw new RuntimeException("Invalid bundled javascript file", e);
  			}
  			
  			sharedRunner.set(runner);
  		}
  		return sharedRunner.get();
  	}
docs: Gets or initializes the shared script runner {@link #sharedRunner}
  @return the runner
  @throws IOException if bundles scripts could not be loaded