protected List<PWMWithThreshold> collectThreshold() throws HashOverflowException {
List<PWMWithThreshold> result = new ArrayList<PWMWithThreshold>();
for (ModelType pwm: pwmCollection) {
CanFindThreshold roughThresholdCalculator = new FindThresholdAPE<ModelType, BackgroundType>(pwm, background, roughDiscretizer, maxHashSize);
CanFindThreshold.ThresholdInfo roughThresholdInfo = roughThresholdCalculator.thresholdByPvalue(pvalue, pvalueBoundary);
double roughThreshold = roughThresholdInfo.threshold;
double roughCount = roughThresholdInfo.numberOfRecognizedWords(background, pwm.length());
CanFindThreshold preciseThresholdCalculator = new FindThresholdAPE<ModelType, BackgroundType>(pwm, background, preciseDiscretizer, maxHashSize);
CanFindThreshold.ThresholdInfo preciseThresholdInfo = preciseThresholdCalculator.thresholdByPvalue(pvalue, pvalueBoundary);