code: function(nIndex) {
              var aItems = this._panels;
              var ePanelNode = aItems[nIndex];
              if(!ePanelNode) {return false;} // invalid node
              var ePanelLink = ePanelNode.firstChild;
              if(!YUD.hasClass(ePanelLink, this.CLASSES.ACTIVE)) {return true;} // already closed
              if(this.get('collapsible') === false) {
                  if(this.get('expandable') === true) {
                      this.set('collapsible', true);
                      for(var i=0;i<aItems.length;i++) {
                          if((YUD.hasClass(aItems[i].firstChild, this.CLASSES.ACTIVE) && i !== nIndex)) {
                              this._onClick(ePanelLink);
                              this.set('collapsible', false);            
                              return true;
                          }
                      }
                      this.set('collapsible', false);                
                  }
              } // can't collapse
              this._onClick(ePanelLink);
              return true;
          }
docs: Close a panel
  @method closePanel
  @param {Integer} nIndex The position of the Panel.
  @return {Boolean} whether action resulted in closing a panel or not
  that was previously open
  
  This method honors all constraints imposed by the properties collapsible and expandable
  and will return false if the panel can't be closed because of a constraint in addition
  to if it was already closed