code: public static ParseException withBounds(
        String errorMessage, String logMessage, int start, int end) {
      return new ParseException(msg(errorMessage, logMessage, start, end), logMessage);
    }
docs: Creates a new parse exception for situations in which both the start and end positions of the
  error are known.
  
  @param errorMessage the user error message.
  @param logMessage the original log message.
  @param start the index of the first character in the invalid section of the log message.
  @param end the index after the last character in the invalid section of the log message.
  @return the parser exception.