public static String formatIECByteSizeString(final Long streamSize,
                                                 final boolean stripTrailingZeros,
                                                 final int significantFigures) {
        if (streamSize == null) {
            return "";
        }
        return formatNumberString(streamSize, IEC_BYTE_SIZE_DIVIDER, stripTrailingZeros, significantFigures);
    }
Return nice string like "25 B", "4 K", "45 M", rounded to the desired significantFigures.

@param significantFigures The number of significant digits required, however if the number of
                          integer digits is greater that will be used. This is to ensure we always
                          show full precision for the integer part, e.g. output '1023B' when
                          significantFigures is 3.
stroom-util-shared/src/main/java/stroom/util/shared/ModelStringUtil.java