_applyOpsInCol(colIndex, ctx, opGetter) {
        if (colIndex < 0 || colIndex >= this.columns.length) {
            return;
        }
        let col = this.columns[colIndex];

        for (let row = 0; row < this.numWires; row++) {
            let gate = col.gates[row];
            if (gate === undefined || this.gateAtLocIsDisabledReason(colIndex, row) !== undefined) {
                continue;
            }

            let op = opGetter(gate);
            if (op !== undefined) {
                op(ctx.withRow(ctx.row + row));
            }
        }
    }
@param {!int} colIndex
@param {!CircuitEvalContext} ctx
@param {!function(!Gate) : !function(!CircuitEvalContext)} opGetter
@private