docs: function (propertyName, newValue, oldValue) {
              // --------------------------------------------------- destructuring
  
              var cfg = this._cfg;
              var tabId = cfg.tabId;
              var waiAria = cfg.waiAria;
  
              // ------------------------------------------------------ processing
  
              var changedState = false;
              if (propertyName === "selectedTab") {
                  var isSelected = newValue === tabId;
                  var wasSelected = oldValue === tabId;
  
                  if (isSelected || wasSelected) {
                      changedState = true;
                  }
              } else if (propertyName === 'controlledTabPanelId') {
                  this._reactToControlledTabPanelIdChange(newValue);
              } else {
                  this.$Container._onBoundPropertyChange.call(this, propertyName, newValue, oldValue);
              }
  
              if (changedState) {
                  cfg[propertyName] = newValue;
                  this._updateState();
  
                  if (waiAria) {
                      var element = this._getWaiAriaElement();
                      var value = isSelected ? 'true' : 'false';
                      element.setAttribute('aria-selected', value);
                      element.setAttribute('aria-expanded', value);
                  }
              }
  
              this._updateLabelId(newValue);
          }