docs: public Object eval(String source, int lineNo, int columnNo, Object script) throws BSFException {
          try {
              source = convertToValidJavaClassname(source);
              return getEvalShell().evaluate(script.toString(), source);
          } catch (Exception e) {
              throw new BSFException(BSFException.REASON_EXECUTION_ERROR, "exception from Groovy: " + e, e);
          }
      }