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;
 }