private void populateTagPositionCollection(final Collection<Integer> collection) {
        // convert the mask value into a string of 1s and 0s, with position zero
        // being on the right.
        final String bitMask = Integer.toBinaryString(mask);

        for (int strPos = bitMask.length() - 1; strPos >= 0; strPos--) {
            final int tagPos = bitMask.length() - 1 - strPos;
            if (bitMask.charAt(strPos) == '1') {
                collection.add(tagPos);
            }
        }
    }
@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