static correctErrors(codewords, erasures, numECCodewords) {
			if (erasures != null &&
				erasures.length > numECCodewords / 2 + PDF417ScanningDecoder.MAX_ERRORS ||
				numECCodewords < 0 ||
				numECCodewords > PDF417ScanningDecoder.MAX_EC_CODEWORDS) {
				// Too many errors or EC Codewords is corrupted
				throw ChecksumException.getChecksumInstance();
			}
			return PDF417ScanningDecoder.errorCorrection.decode(codewords, numECCodewords, erasures);
		}
<p>Given data and error-correction codewords received, possibly corrupted by errors, attempts to
correct the errors in-place.</p>

@param codewords   data and error correction codewords
@param erasures positions of any known erasures
@param numECCodewords number of error correction codewords that are available in codewords
@throws ChecksumException if error correction fails