code: public final void addParameter(int termStart, int termEnd, Parameter param) {
      // Set a bit in the parameter mask according to which parameter was referenced.
      // Shifting wraps, so we must do a check here.
      if (param.getIndex() < 32) {
        pmask |= (1 << param.getIndex());
      }
      maxIndex = Math.max(maxIndex, param.getIndex());
      addParameterImpl(termStart, termEnd, param);
    }
docs: Called by parser implementations to signify that the parsing of the next parameter is complete.
  This method will call {@link #addParameterImpl(int, int, Parameter)} with exactly the same
  arguments, but may also do additional work before or after that call.
  
  @param termStart the index of the first character in the log message string that was parsed to
  form the given parameter.
  @param termEnd the index after the last character in the log message string that was parsed to
  form the given parameter.
  @param param a parameter representing the format specified by the substring of the log message
  in the range {@code [termStart, termEnd)}.