ScriptingSecurityManager getScriptingSecurityManager() { final ScriptingSecurityManager scriptingSecurityManager; // get preferences (and store them again after the script execution, // such that the scripts are not able to change them). final ScriptingPermissions permissions = permissions(); permissions.assertScriptExecutionAllowed(); final boolean executeSignedScripts = permissions.isExecuteSignedScriptsWithoutRestriction(); if (executeSignedScripts && isSignedScript()) { scriptingSecurityManager = permissions.getPermissiveScriptingSecurityManager(); } else { scriptingSecurityManager = permissions.getScriptingSecurityManager(); } return scriptingSecurityManager; }