public static Sizes parse(String value) throws ParseException {
        if (value != null) {
            try {
                return Sizes.create(Arrays.stream(value.split(","))
                        .map(String::trim)
                        .map(Long::valueOf)
                        .collect(Collectors.toList()));
            } catch (RuntimeException e) {
                throw new ParseException(e.getMessage(), 0);
            }
        }
        return Sizes.create(Long.MAX_VALUE);
    }
Create a set of sizes based on a list of longs. Where a size is not provided for a requested depth the
supplied default size will be used.

@param list        The list of sizes to use.
@param defaultSize The default size to return if needed.
@return A new set of sizes.
stroom-query/stroom-query-common/src/main/java/stroom/query/common/v2/Sizes.java