static void appendHexValue(@NotNull PrimitiveValue value, StringBuilder buf) {
    if (value instanceof CharValue) {
      long longValue = value.longValue();
      buf.append("0x").append(StringUtil.toUpperCase(Long.toHexString(longValue)));
    }
    else if (value instanceof ByteValue) {
      String strValue = StringUtil.toUpperCase(Integer.toHexString(value.byteValue()));
      if (strValue.length() > 2) {
        strValue = strValue.substring(strValue.length() - 2);
      }
      buf.append("0x").append(strValue);
    }
    else if (value instanceof ShortValue) {
      String strValue = StringUtil.toUpperCase(Integer.toHexString(value.shortValue()));
      if (strValue.length() > 4) {
        strValue = strValue.substring(strValue.length() - 4);
      }
      buf.append("0x").append(strValue);
    }
    else if (value instanceof IntegerValue) {
      buf.append("0x").append(StringUtil.toUpperCase(Integer.toHexString(value.intValue())));
    }
    else if (value instanceof LongValue) {
      buf.append("0x").append(StringUtil.toUpperCase(Long.toHexString(value.longValue())));
    }
    else {
      LOG.assertTrue(false);
    }
  }
static void appendHexValue(@NotNull PrimitiveValue value, StringBuilder buf)