value() {
        return new ArgHandler('Cell.value')
            .case(() => {
                if (this._value instanceof RichText) {
                    return this._value.getInstanceWithCellRef(this);
                }
                return this._value;
            })
            .case("array", values => {
                const numRows = values.length;
                const numCols = values[0].length;
                const range = this.rangeTo(this.relativeCell(numRows - 1, numCols - 1));
                return range.value(values);
            })
            .case('*', value => {
                this.clear();
                if (value instanceof RichText) {
                    this._value = value.copy(this);
                } else {
                    this._value = value;
                }
                return this;
            })
            .handle(arguments);
    }
Sets the values in the range starting with the cell.
@param {Array.<Array.<string|boolean|number|null|undefined>>} - 2D array of values to set.
@returns {Range} The range that was set.