_isEmpty(modelValue = /** @type {any} */ (this).modelValue) {
      let value = modelValue;
      if (/** @type {any} */ (this).modelValue instanceof Unparseable) {
        value = /** @type {any} */ (this).modelValue.viewValue;
      }

      // Checks for empty platform types: Objects, Arrays, Dates
      if (typeof value === 'object' && value !== null && !(value instanceof Date)) {
        return !Object.keys(value).length;
      }

      // eslint-disable-next-line no-mixed-operators
      // Checks for empty platform types: Numbers, Booleans
      const isNumberValue = typeof value === 'number' && (value === 0 || Number.isNaN(value));
      const isBooleanValue = typeof value === 'boolean' && value === false;

      return !value && !isNumberValue && !isBooleanValue;
    }
Used for Required validation and computation of interaction states
@param {any} modelValue
@return {boolean}
@protected