docs: public static String getPostfixFromValue(BytesRef term) {
      int i = term.offset;
      int length = term.offset + term.length;
      byte[] postfix = new byte[length];
      while (i < length) {
        if ((term.bytes[i] & 0b10000000) == 0b00000000) {
          if (term.bytes[i] == 0b00000001) {
            i++;
            break;
          } else {
            i++;
          }
        } else if ((term.bytes[i] & 0b11100000) == 0b11000000) {
          i += 2;
        } else if ((term.bytes[i] & 0b11110000) == 0b11100000) {
          i += 3;
        } else if ((term.bytes[i] & 0b11111000) == 0b11110000) {
          i += 4;
        } else if ((term.bytes[i] & 0b11111100) == 0b11111000) {
          i += 5;
        } else if ((term.bytes[i] & 0b11111110) == 0b11111100) {
          i += 6;
        } else {
          return "";
        }
      }
      int start = i;
      while (i < length) {
        if ((term.bytes[i] & 0b10000000) == 0b00000000) {
          if (term.bytes[i] == 0b00000000) {
            break;
          }
          postfix[i] = term.bytes[i];
          i++;
        } else if ((term.bytes[i] & 0b11100000) == 0b11000000) {
          postfix[i] = term.bytes[i];
          postfix[i + 1] = term.bytes[i + 1];
          i += 2;
        } else if ((term.bytes[i] & 0b11110000) == 0b11100000) {
          postfix[i] = term.bytes[i];
          postfix[i + 1] = term.bytes[i + 1];
          postfix[i + 2] = term.bytes[i + 2];
          i += 3;
        } else if ((term.bytes[i] & 0b11111000) == 0b11110000) {
          postfix[i] = term.bytes[i];
          postfix[i + 1] = term.bytes[i + 1];
          postfix[i + 2] = term.bytes[i + 2];
          postfix[i + 3] = term.bytes[i + 3];
          i += 4;
        } else if ((term.bytes[i] & 0b11111100) == 0b11111000) {
          postfix[i] = term.bytes[i];
          postfix[i + 1] = term.bytes[i + 1];
          postfix[i + 2] = term.bytes[i + 2];
          postfix[i + 3] = term.bytes[i + 3];
          postfix[i + 4] = term.bytes[i + 4];
          i += 5;
        } else if ((term.bytes[i] & 0b11111110) == 0b11111100) {
          postfix[i] = term.bytes[i];
          postfix[i + 1] = term.bytes[i + 1];
          postfix[i + 2] = term.bytes[i + 2];
          postfix[i + 3] = term.bytes[i + 3];
          postfix[i + 4] = term.bytes[i + 4];
          postfix[i + 5] = term.bytes[i + 5];
          i += 6;
        } else {
          return "";
        }
      }
      return new String(Arrays.copyOfRange(postfix, start, i),
          StandardCharsets.UTF_8);
    }