public ExplorerViewCenterPanel() {
    tp = new TabPanel();

    tp.setBodyBorder(false);
    tp.setEnableTabScroll(true);
    tp.setAutoDestroy(true);
    tp.setResizeTabs(true);
    tp.setLayoutOnTabChange(true);
    tp.setActiveTab(0);
    tp.setEnableTabScroll(true);
    tp.setMinTabWidth(90);

    centerLayoutData = new BorderLayoutData(RegionPosition.CENTER);
    centerLayoutData.setMargins(new Margins(5, 0, 5, 5));

    String tok = History.getToken();

    // listener to try and stop people from forgetting to save...
    tp.addListener(
        new TabPanelListenerAdapter() {
          @Override
          public boolean doBeforeRemove(Container self, final Component component) {

            if (openedAssetEditors.containsKey(component.getId())) {

              RuleViewer rv = openedAssetEditors.get(component.getId());
              if (rv.isDirty()) {
                component.show();
                return Window.confirm(
                    "Are you sure you want to close this item? Any unsaved changes will be lost.");
              } else {
                return true;
              }
            }
            return true;
          }
        });

    addCloseAllButton();

    openAssetByToken(tok);
  }