public Object callScript(String scriptName, List<String> keys,
			List<String> args) throws LuaScriptException {
		String scriptContent = getScript(scriptName);
		this._sha1Key = getScriptHash(scriptContent);

		try {
			Object o = callScriptByHash(_sha1Key, keys, args);
			return o;
		} catch (Exception e) {
			_logger.info("An attempt to call script (" + scriptName
					+ ") resulted in an exception - " + e.getMessage()
					+ ".  Reloading the script will be attempted.");
			this._sha1Key = reloadScript(scriptName);
			try {
				return callScriptByHash(_sha1Key, keys, args);
			} catch (Exception ex) {
				// Log
				_logger.error("A call to script (" + scriptName
						+ ") resulted in an exception - " + e.getMessage());
				throw new LuaScriptException(ex);
			}
		}
	}