code: function () {
                      // If we don't have a state key for the shape attributes, consider this state key to be invalid.
                      if (!this._attributesStateKey) {
                          // Update the state key for the appropriate attributes for future
                          if (this._highlighted) {
                              if (!!this._highlightAttributes) {
                                  this._attributesStateKey = this._highlightAttributes.stateKey;
                              }
                          } else {
                              if (!!this._attributes) {
                                  this._attributesStateKey = this._attributes.stateKey;
                              }
                          }
  
                          // If we now actually have a state key for the attributes, it was previously invalid.
                          if (!!this._attributesStateKey) {
                              this.stateKeyInvalid = true;
                          }
                      } else {
                          // Detect a change in the appropriate attributes.
                          var currentAttributesStateKey = null;
  
                          if (this._highlighted) {
                              // If there are highlight attributes associated with this shape, ...
                              if (!!this._highlightAttributes) {
                                  currentAttributesStateKey = this._highlightAttributes.stateKey;
                              }
                          } else {
                              if (!!this._attributes) {
                                  currentAttributesStateKey = this._attributes.stateKey;
                              }
                          }
  
                          // If the attributes state key changed, ...
                          if (currentAttributesStateKey != this._attributesStateKey) {
                              this._attributesStateKey = currentAttributesStateKey;
                              this.stateKeyInvalid = true;
                          }
                      }
  
                      if (this.stateKeyInvalid) {
                          this._stateKey = this.computeStateKey();
                      }
  
                      return this._stateKey;
                  }
docs: A hash key of the total visible external state of the surface shape.
  @memberof SurfaceShape.prototype
  @type {String}