docs: protected void error(OptionalThing<ReadableJobAttr> jobAttr, String msg, Throwable cause) {
          final String bigMsg = (msg + LF + new JobErrorStackTracer().buildExceptionStackTrace(cause)).trim();
          jobRunner.getErrorLogHook().ifPresent(hook -> {
              hook.hookError(new JobErrorResource(jobAttr, OptionalThing.empty(), bigMsg, cause));
          });
          JobErrorLog.log(bigMsg);
      }