findRowSkip() {
			const max = this.possibleCenters.length;
			if (max <= 1) {
				return 0;
			}
			let firstConfirmedCenter = null;
			for (const center of this.possibleCenters) {
				if (center.getCount() >= FinderPatternFinder.CENTER_QUORUM) {
					if (firstConfirmedCenter == null) {
						firstConfirmedCenter = center;
					}
					else {
						// We have two confirmed centers
						// How far down can we skip before resuming looking for the next
						// pattern? In the worst case, only the difference between the
						// difference in the x / y coordinates of the two centers.
						// This is the case where you find top left last.
						this.hasSkipped = true;
						return /*(int) */ Math.floor((Math.abs(firstConfirmedCenter.getX() - center.getX()) -
							Math.abs(firstConfirmedCenter.getY() - center.getY())) / 2);
					}
				}
			}
			return 0;
		}
@return number of rows we could safely skip during scanning, based on the first
        two finder patterns that have been located. In some cases their position will
        allow us to infer that the third pattern must lie below a certain point farther
        down in the image.