public static int longFitsIn(final long value) {
        if (value < 0) {
            return 8;
        }

        if (value < (1L << (4 * 8))) {
            // no more than 4 bytes
            if (value < (1L << (2 * 8))) {
                if (value < (1L << (1 * 8))) {
                    return 1;
                }
                return 2;
            }
            if (value < (1L << (3 * 8))) {
                return 3;
            }
            return 4;
        }
        // more than 4 bytes
        if (value < (1L << (6 * 8))) {
            if (value < (1L << (5 * 8))) {
                return 5;
            }
            return 6;
        }
        if (value < (1L << (7 * 8))) {
            return 7;
        }
        return 8;
    }
Check how many bytes are required to store value.

@param value Value which size will be tested.
@return How many bytes are required to store value.
stroom-bytebuffer/src/main/java/stroom/bytebuffer/hbase/ByteBufferUtils.java