public static String toString(final byte[] b, int off) {
        if (b == null) {
            return null;
        }
        int len = b.length - off;
        if (len <= 0) {
            return "";
        }
        try {
            return new String(b, off, len, UTF8_CSN);
        } catch (UnsupportedEncodingException e) {
            // should never happen!
            throw new IllegalArgumentException("UTF8 encoding is not supported", e);
        }
    }
This method will convert utf8 encoded bytes into a string. If the given byte array is null,
this method will return null.

@param b   Presumed UTF-8 encoded byte array.
@param off offset into array
@return String made from <code>b</code> or null
stroom-bytebuffer/src/main/java/stroom/bytebuffer/hbase/Bytes.java