code: function(scale, immediately) {
          var sameTarget = (this._scaleSpring.target.value === scale);
          if (immediately) {
              if (sameTarget && this._scaleSpring.current.value === scale) {
                  return;
              }
  
              this._scaleSpring.resetTo(scale);
              this._updateForScale();
              this._needsDraw = true;
          } else {
              if (sameTarget) {
                  return;
              }
  
              this._scaleSpring.springTo(scale);
              this._updateForScale();
              this._needsDraw = true;
          }
  
          if (!sameTarget) {
              this._raiseBoundsChange();
          }
      }
docs: private