code: private void setScriptEngineWrapper(
  			ScriptNode baseNode,
  			ScriptEngineWrapper engineWrapper,
  			ScriptEngineWrapper newEngineWrapper) {
  		for (@SuppressWarnings("unchecked")
  		Enumeration<TreeNode> e = baseNode.depthFirstEnumeration(); e.hasMoreElements();) {
  			ScriptNode node = (ScriptNode) e.nextElement();
  			if (node.getUserObject() != null && (node.getUserObject() instanceof ScriptWrapper)) {
  				ScriptWrapper scriptWrapper = (ScriptWrapper) node.getUserObject();
  				if (hasSameScriptEngine(scriptWrapper, engineWrapper)) {
  					scriptWrapper.setEngine(newEngineWrapper);
  					if (newEngineWrapper == null) {
  						if (scriptWrapper.isEnabled()) {
  							setEnabled(scriptWrapper, false);
  							scriptWrapper.setPreviouslyEnabled(true);
  						}
  					} else if (scriptWrapper.isPreviouslyEnabled()) {
  						setEnabled(scriptWrapper, true);
  						scriptWrapper.setPreviouslyEnabled(false);
  					}
  				}
  			}
  		}
  	}
docs: Sets the given {@code newEngineWrapper} to all children of {@code baseNode} that targets the given {@code engineWrapper}.
  
  @param baseNode the node whose child nodes will have the engine set, must not be {@code null}
  @param engineWrapper the script engine of the targeting scripts, must not be {@code null}
  @param newEngineWrapper the script engine that will be set to the targeting scripts
  @see ScriptWrapper#setEngine(ScriptEngineWrapper)