code: function (hexColor) {
              // TODO : Memoize this function by caching its input
  
              var match;
              if ((match = hex8Rx.exec(hexColor))) {
                  // #AARRGGBB
                  return this.setColor(
                      parseInt(match[1], 16),
                      parseInt(match[2], 16),
                      parseInt(match[3], 16),
                      (me.Math.clamp(parseInt(match[4], 16), 0, 255) / 255.0).toFixed(1)
                  );
              }
  
              if ((match = hex6Rx.exec(hexColor))) {
                  // #RRGGBB
                  return this.setColor(
                      parseInt(match[1], 16),
                      parseInt(match[2], 16),
                      parseInt(match[3], 16)
                  );
              }
  
              if ((match = hex4Rx.exec(hexColor))) {
                  // #ARGB
                  return this.setColor(
                      parseInt(match[1] + match[1], 16),
                      parseInt(match[2] + match[2], 16),
                      parseInt(match[3] + match[3], 16),
                      (me.Math.clamp(parseInt(match[4] + match[4], 16), 0, 255) / 255.0).toFixed(1)
                  );
              }
  
              if ((match = hex3Rx.exec(hexColor))) {
                  // #RGB
                  return this.setColor(
                      parseInt(match[1] + match[1], 16),
                      parseInt(match[2] + match[2], 16),
                      parseInt(match[3] + match[3], 16)
                  );
              }
  
              throw new Error(
                  "invalid parameter: " + hexColor
              );
          }
docs: Parse a Hex color ("#RGB", "#RGBA" or "#RRGGBB", "#RRGGBBAA" format) and set this color to
  the corresponding r,g,b,a values
  @name parseHex
  @memberOf me.Color
  @function
  @param {String} color
  @return {me.Color} Reference to this object for method chaining