_setElementAndRawValue(newElementValue, rawValue = null, saveChangeToHistory = true) {
        if (AutoNumericHelper.isNull(rawValue)) {
            rawValue = newElementValue;
        } else if (AutoNumericHelper.isBoolean(rawValue)) {
            saveChangeToHistory = rawValue;
            rawValue = newElementValue;
        }

        //XXX The order here is important ; the value should first be set on the element, then and only then we should update the raw value
        // In the `set()` function, we make sure to call `_setRawValue` *after* `setElementValue` so that if `_setRawValue` calls a callback that modify the `rawValue`, then the new value is set correctly (after `setElementValue` briefly set its value first)
        this._setElementValue(newElementValue);
        this._setRawValue(rawValue, saveChangeToHistory);

        return this;
    }
Set the given value on the DOM element, and the raw value on `this.rawValue`, if both are given.
If only one value is given, then both the DOM element value and the raw value are set with that value.
The third argument `saveChangeToHistory` defines if the change should be recorded in the history array.
Note: if the second argument `rawValue` is a boolean, we consider that is really is the `saveChangeToHistory` argument.

@param {number|string|null} newElementValue
@param {number|string|null|boolean} rawValue
@param {boolean} saveChangeToHistory
@returns {AutoNumeric}
@private