code: public static ExecutableScript getScript(String language, String source, String resource, ExpressionManager expressionManager) {
      return getScript(language, source, resource, expressionManager, getScriptFactory());
    }
docs: Creates a new {@link ExecutableScript} from a source or resource. It excepts static and
  dynamic sources and resources. Dynamic means that the source or resource is an expression
  which will be evaluated during execution.
  
  @param language the language of the script
  @param source the source code of the script or an expression which evaluates to the source code
  @param resource the resource path of the script code or an expression which evaluates to the resource path
  @param expressionManager the expression manager to use to generate the expressions of dynamic scripts
  @return the newly created script
  @throws NotValidException if language is null or empty or both of source and resource are null or empty