### Question:
ByteBufUtils { public static String byteBufToHexString(final ByteBuf bb) { StringBuilder sb = new StringBuilder(); for (int i = bb.readerIndex(); i < (bb.readerIndex() + bb.readableBytes()); i++) { sb.append(String.format(" %02x", bb.getUnsignedByte(i))); } return sb.toString().trim(); } private  ByteBufUtils(); static String byteBufToHexString(final ByteBuf bb); static byte[] hexStringToBytes(final String hexSrc); static byte[] hexStringToBytes(final String hexSrc, final boolean withSpaces); static ByteBuf hexStringToByteBuf(final String hexSrc); static void hexStringToByteBuf(final String hexSrc, final ByteBuf out); @Deprecated static void padBuffer(final int length, final ByteBuf out); static void writeOFHeader(final byte msgType, final E message, final ByteBuf out, final int length); static void updateOFHeaderLength(final ByteBuf out); static void updateOFHeaderLength(final ByteBuf out, int index); static int fillBitMaskFromMap(final Map<Integer, Boolean> booleanMap); static int fillBitMask(final int offset, final boolean... values); static int[] fillBitMaskFromList(final List<Boolean> booleanList); static String bytesToHexString(final byte[] array); static byte[] macAddressToBytes(final String macAddress); static String macAddressToString(final byte[] address); static String decodeNullTerminatedString(final ByteBuf rawMessage, final int length); static String readIpv4Address(final ByteBuf buf); static String readIpv6Address(final ByteBuf buf); static Ipv4Address readIetfIpv4Address(final ByteBuf buf); static Ipv6Address readIetfIpv6Address(final ByteBuf buf); static MacAddress readIetfMacAddress(final ByteBuf buf); static byte[] serializeList(final List<Short> list); static final Splitter DOT_SPLITTER; static final Splitter COLON_SPLITTER; }### Answer:
@Test public void testByteBufToHexString() { ByteBuf buf = ByteBufUtils.hexStringToByteBuf("00 01 02 03 04 05 06 07"); buf.skipBytes(4); Assert.assertEquals("Wrong data read", "04 05 06 07", ByteBufUtils.byteBufToHexString(buf)); }