public StatisticsDataSourceData deepCopy() {
        final List<StatisticField> newFieldList = new ArrayList<>();

        for (final StatisticField statisticField : statisticFields) {
            newFieldList.add(statisticField.deepCopy());
        }

        final Set<CustomRollUpMask> newMaskList = new HashSet<>();

        for (final CustomRollUpMask customRollUpMask : customRollUpMasks) {
            newMaskList.add(customRollUpMask.deepCopy());
        }

        return new StatisticsDataSourceData(newFieldList, newMaskList);
    }
Held in a set to prevent duplicates.
<p>
XMLTransient to force JAXB to use the setter
stroom-legacy/stroom-legacy-model_6_1/src/main/java/stroom/legacy/model_6_1/StatisticsDataSourceData.java