haveMultiplyConfirmedCenters() {
			let confirmedCount = 0;
			let totalModuleSize = 0.0;
			const max = this.possibleCenters.length;
			for (const pattern of this.possibleCenters) {
				if (pattern.getCount() >= FinderPatternFinder.CENTER_QUORUM) {
					confirmedCount++;
					totalModuleSize += pattern.getEstimatedModuleSize();
				}
			}
			if (confirmedCount < 3) {
				return false;
			}
			// OK, we have at least 3 confirmed centers, but, it's possible that one is a "false positive"
			// and that we need to keep looking. We detect this by asking if the estimated module sizes
			// vary too much. We arbitrarily say that when the total deviation from average exceeds
			// 5% of the total module size estimates, it's too much.
			const average = totalModuleSize / max;
			let totalDeviation = 0.0;
			for (const pattern of this.possibleCenters) {
				totalDeviation += Math.abs(pattern.getEstimatedModuleSize() - average);
			}
			return totalDeviation <= 0.05 * totalModuleSize;
		}
@return true iff we have found at least 3 finder patterns that have been detected
        at least {@link #CENTER_QUORUM} times each, and, the estimated module size of the
        candidates is "pretty similar"