public static Set<RollUpBitMask> getRollUpBitMasks(final int tagCount) {
        final Set<RollUpBitMask> masks = new HashSet<>();

        final Set<List<Boolean>> perms = getRollUpPermutationsAsBooleans(tagCount);

        for (final List<Boolean> perm : perms) {
            final SortedSet<Integer> tagPositions = buildPositionList(perm);

            masks.add(RollUpBitMask.fromTagPositions(tagPositions));
        }
        return masks;
    }
@param tagCount The number of tags you want permutations for
@return A set of {@link RollUpBitMask} objects, one for each permutation
of possible bit masks for that number of tags
stroom-statistics/stroom-statistics-impl-sql/src/main/java/stroom/statistics/impl/sql/rollup/RollUpBitMask.java