code: public <T> T getInterfaceWithOutAddOnLoader(ScriptWrapper script, Class<T> clasz) throws ScriptException, IOException {
  		T iface = script.getInterface(clasz);
  		if (iface != null) {
  			// the script wrapper has overriden the usual scripting mechanism
  			return iface;
  		}
  		return invokeScriptWithOutAddOnLoader(script).getInterface(clasz);
  	}
docs: Gets the interface {@code clasz} from the given {@code script}. Might return {@code null} if the {@code script} does not
  implement the interface.
  <p>
  First tries to get the interface directly from the {@code script} by calling the method
  {@code ScriptWrapper.getInterface(Class)}, if it returns {@code null} the interface will be extracted from the script
  after invoking it, using the method {@code Invocable.getInterface(Class)}.
  
  @param script the script that will be invoked
  @param clasz the interface that will be obtained from the script
  @return the interface implemented by the script, or {@code null} if the {@code script} does not implement the interface.
  @throws ScriptException if the engine of the given {@code script} was not found.
  @throws IOException if an error occurred while obtaining the interface directly from the script (
  {@code ScriptWrapper.getInterface(Class)})
  @see #getInterface(ScriptWrapper, Class)
  @see ScriptWrapper#getInterface(Class)
  @see Invocable#getInterface(Class)