code: public static ExecutableScript getScriptFromSourceExpression(String language, Expression sourceExpression, ScriptFactory scriptFactory) {
      ensureNotEmpty(NotValidException.class, "Script language", language);
      ensureNotNull(NotValidException.class, "Script source expression", sourceExpression);
      return scriptFactory.createScriptFromSource(language, sourceExpression);
    }
docs: Creates a new {@link ExecutableScript} from a dynamic source. Dynamic means that the source
  is an expression which will be evaluated during execution.
  
  @param language the language of the script
  @param sourceExpression the expression which evaluates to the source code
  @param scriptFactory the script factory used to create the script
  @return the newly created script
  @throws NotValidException if language is null or empty or sourceExpression is null