code: public void addTab(AbstractPanel panel, int index) {
  		boolean visible = ! panel.isHideable() || this.isTabPinned(panel);
  		this.addTab(panel.getName(), panel.getIcon(), panel, panel.isHideable(), visible, index);
  		
  	}
docs: Adds a tab with the given panel at the given index.
  <p>
  This method effectively overrides the {@link AbstractPanel#getTabIndex() index of the panel}.
  <p>
  If the panel is {@link AbstractPanel#isHideable() hideable} and not-{@link AbstractPanel#isPinned() pinned} the
  corresponding tab will be hidden, until the user (or programmatically) makes it visible.
  
  @param panel the panel for the added tab.
  @param index the index at the tabbed pane.
  @since TODO add version