whole_func_string: function(icon) {
          var me = this,
              isEmpty = !icon || !icon.length,
              iconCmp = me.iconCmp;
  
          me.icon = icon;
          if (!me.iconCmp && !isEmpty) {
              me.initIconCmp();
              me.insert(0, me.iconCmp);
          } else if (iconCmp) {
              if (isEmpty) {
                  me.iconCmp.destroy();
                  delete me.iconCmp;
              } else {
                  iconCmp.setSrc(me.icon);
              }
          }
      }
func_code_string: function(icon) {
          var me = this,
              isEmpty = !icon || !icon.length,
              iconCmp = me.iconCmp;
  
          me.icon = icon;
          if (!me.iconCmp && !isEmpty) {
              me.initIconCmp();
              me.insert(0, me.iconCmp);
          } else if (iconCmp) {
              if (isEmpty) {
                  me.iconCmp.destroy();
                  delete me.iconCmp;
              } else {
                  iconCmp.setSrc(me.icon);
              }
          }
      }
func_documentation_string: Sets the image path that provides the icon image for this header.  This method will replace any existing
  icon if one has already been set.
  @param {String} icon The new icon path