@Override
  public final void removeTabAt (final int index) {
    super.removeTabAt (index);
    //This event should be fired necessarily because when swing fires an event
    // page to be removed is still in the tabbed pane. There can be a situation when
    // event fired according to swing event contains invalid information about selected page.
    fireStateChanged();
  }
@Override
  public final void removeTabAt (final int index)