constructor(field, coefficients) {
			if (coefficients.length === 0) {
				throw new IllegalArgumentException();
			}
			this.field = field;
			let coefficientsLength = /*int*/ coefficients.length;
			if (coefficientsLength > 1 && coefficients[0] === 0) {
				// Leading term must be non-zero for anything except the constant polynomial "0"
				let firstNonZero = /*int*/ 1;
				while (firstNonZero < coefficientsLength && coefficients[firstNonZero] === 0) {
					firstNonZero++;
				}
				if (firstNonZero === coefficientsLength) {
					this.coefficients = new Int32Array([0]);
				}
				else {
					this.coefficients = new Int32Array(coefficientsLength - firstNonZero);
					System.arraycopy(coefficients, firstNonZero, this.coefficients, 0, this.coefficients.length);
				}
			}
			else {
				this.coefficients = coefficients;
			}
		}
@author Sean Owen
@see com.google.zxing.common.reedsolomon.GenericGFPoly