public static RollUpBitMask fromTagPositions(final List<Integer> tagPositions) {
        return fromTagPositions(new TreeSet<>(tagPositions));
    }
Generates a {@link RollUpBitMask} from the passed list of rolled up tag
positions. It uses a cache of tag positions to save it having to build
the objects each time. For that reason the passed list will be sorted to
ensure it can be compared to ones in the cache, i.e. [0,1] == [1,0]

@param tagPositions A list of the array position values at which a tag is rolled
                    up. E.g. if you have Tag1, Tag2 & Tag3 and only Tag2 is rolled
                    up then [1] would be passed as only tag at position 1 is
                    rolled up.
@return The {@link RollUpBitMask} object representing the rolled up tag
positions.
stroom-statistics/stroom-statistics-impl-hbase/src/main/java/stroom/statistics/impl/hbase/rollup/RollUpBitMask.java