docs: function (cfg, context, lineNumber) {
          this.$BaseWidget.constructor.apply(this, arguments);
  
          /**
           * Whether the widget configuration is valid
           * @type Boolean
           * @protected
           */
          this._cfgOk = ariaCoreJsonValidator.validateCfg("aria.touch.widgets.SliderCfgBeans.DoubleSliderCfg", cfg);
  
          if (!this._cfgOk) {
              return;
          }
  
          /**
           * Computed width of the first thumb. The actual value is compute on initialization.
           * @type Number
           * @protected
           */
          this._firstWidth = 0;
  
          /**
           * Computed width of the second thumb. The actual value is compute on initialization. Being aligned differently
           * it should account for the borders.
           * @type Number
           * @protected
           */
          this._secondWidth = 0;
  
          /**
           * Width of the rail between the two thumbs.
           * @type Number
           * @protected
           */
          this._railWidth = 0;
  
          /**
           * Value of the widget (must be an array of values between 0 and 1)
           * @type Array
           * @protected
           */
          this.value = [0, 0];
  
          /**
           * Value before the start of a move, this is kept to raised the change event only if after a move the new value
           * changes
           * @type Array
           * @protected
           */
          this._oldValue = [0, 0];
          this._readValue();
  
          /**
           * Dom Reference for the first thumb of the slider
           * @type HTMLElement
           * @protected
           */
          this._firstSlider = null;
  
          /**
           * Dom Reference for the second thumb of the slider
           * @type HTMLElement
           * @protected
           */
          this._secondSlider = null;
  
          /**
           * Reference to the button DOM element of the slider.
           * @type HTMLElement
           * @protected
           */
          this._domElt = null;
  
          /**
           * Dom Reference for the region between the two thumbs
           * @type HTMLElement
           * @protected
           */
          this._highlight = null;
  
          /**
           * Initial position of the element being dragged
           * @type Number
           * @protected
           */
          this._initialDrag = 0;
  
          var binding = this._cfg.bind ? this._cfg.bind.value : null;
          /**
           * Description of the bind value
           * @type Object
           * @protected
           */
          this._binding = binding;
          if (binding) {
              /**
               * Callback for the data change
               * @protected
               * @type aria.core.CfgBeans:Callback
               */
              this._bindingCallback = {
                  fn : this._notifyDataChange,
                  scope : this
              };
              ariaUtilsJson.addListener(binding.inside, binding.to, this._bindingCallback, false);
          }
  
          /**
           * Value of the first thumb page/clientX property of the touch/mouse event when the user started moving the
           * slider. It is then updated so that it is always the position of the touch/mouse for which there is no change
           * of the position of the slider.
           * @type Number
           * @protected
           */
          this._savedX1 = 0;
  
          /**
           * Value of the second thumb page/clientX property of the touch/mouse event when the user started moving the
           * slider. It is then updated so that it is always the position of the touch/mouse for which there is no change
           * of the position of the slider.
           * @type Number
           * @protected
           */
          this._savedX2 = 0;
  
          /**
           * Id generated for the DOM element of the slider.
           * @type String
           * @protected
           */
          this._domId = cfg.id ? context.$getId(cfg.id) : this._createDynamicId();
  
          /**
           * Id generated for the first thumb DOM element of the slider.
           * @type String
           * @protected
           */
          this._firstDomId = this._domId + "_first";
  
          /**
           * Id generated for the second thumb DOM element of the slider.
           * @type String
           * @protected
           */
          this._secondDomId = this._domId + "_second";
  
          /**
           * List of Drag instances associated to the two thumbs
           * @type Array of aria.utils.dragdrop.Drag
           */
          this._draggable = [];
  
      }