private void popoutTreeVisTab(TreeVisPlace place, int id) {
    // FIXME: this needs to be injected...
    AppPlaceHistoryMapper historyMapper = Entry.getPlaceHistoryMapper();

    String token = historyMapper.getToken(place);
    String url = Window.Location.createUrlBuilder().setHash(token).buildString();
    int width = Window.getClientWidth() / 2;
    int height = Window.getClientHeight() / 2;
    String features =
        "width=" + width + ",height=" + height + ",menubar=0,location=0,toolbar=0,status=0";

    TreeVisActivity.openPanel(this, url, "_blank", features, Integer.toString(id));
  }
  private void popoutDataTab(DataTablePlace place, int id) {
    logger.log(Level.INFO, "Popping data panel: " + place.getDataKey());

    // FIXME: this needs to be injected...
    AppPlaceHistoryMapper historyMapper = Entry.getPlaceHistoryMapper();

    String token = historyMapper.getToken(place);
    String url = Window.Location.createUrlBuilder().setHash(token).buildString();
    int width = Window.getClientWidth() / 2;
    int height = Window.getClientHeight() / 2;
    String features =
        "width=" + width + ",height=" + height + ",menubar=0,location=0,toolbar=0,status=0";

    DataPanelActivity.openPanel(this, url, "_blank", features, Integer.toString(id));
  }