code: private BshMethod loadScriptedCommand(final InputStream in,
              final String name, final Class<?>[] argTypes,
              final String resourcePath, final Interpreter interpreter)
              throws UtilEvalError {
          try (FileReader reader = new FileReader(in)) {
              interpreter.eval(reader, this, resourcePath);
          } catch (IOException | EvalError e) {
              /* Here we catch any EvalError from the interpreter because we are
               * using it as a tool to load the command, not as part of the
               * execution path. */
              Interpreter.debug(e.toString());
              throw new UtilEvalError("Error loading script: " + e.getMessage(), e);
          }
          // Look for the loaded command
          final BshMethod meth = this.getMethod(name, argTypes);
          /* if (meth == null) throw new UtilEvalError("Loaded resource: " +
           * resourcePath +
           * "had an error or did not contain the correct method"); */
          return meth;
      }
docs: Load a command script from the input stream and find the BshMethod in
  the target namespace.
  @param in the in
  @param name the name
  @param argTypes the arg types
  @param resourcePath the resource path
  @param interpreter the interpreter
  @return the bsh method
  @throws UtilEvalError on error in parsing the script or if the the method
  is not found after parsing the script. If we want to support
  multiple commands in the command path we need to change this to
  not throw the exception.