docs: @Override
    public boolean validateMaximum(BytesRef term) {
      if (maximum == null) {
        return true;
      } else {
        double[][] state = _start();
        char ch1;
        char ch2 = 0x00;
        int i = term.offset + prefixOffset;
        for (; i < term.length; i++) {
          ch1 = (char) term.bytes[i];
          if (ch1 == 0x00) {
            break;
          }
          state = _step(state, ch1, ch2);
          if (!_can_match(state)) {
            return false;
          }
          ch2 = ch1;
        }
        return _is_match(state);
      }
    }