public List<Boolean> getBooleanMask(final int tagCount) {
        // convert the mask value into a string of 1s and 0s, with position zero
        // being on the right.
        final String bitMask = Integer.toBinaryString(mask);

        final List<Boolean> booleanMask = new ArrayList<>();

        for (int strPos = bitMask.length() - 1; strPos >= 0; strPos--) {
            booleanMask.add(bitMask.charAt(strPos) == '1');
        }

        // pad the mask out with false values as the binary string mask may be
        // shorter than the number of tags we have
        while (booleanMask.size() < tagCount) {
            booleanMask.add(false);
        }
        return booleanMask;
    }
@return The bit mask as a list of field positions where the field is
rolled up, e.g. [0,2] indicates that the fields at position 0 and
2 are rolled up
stroom-statistics/stroom-statistics-impl-hbase/src/main/java/stroom/statistics/impl/hbase/rollup/RollUpBitMask.java