@Override
  protected void configureTable() {
    ListGridField idField = new ListGridField(FIELD_ID, MSG.common_title_id());

    ListGridField versionField =
        new ListGridField(BundleVersionDataSource.FIELD_VERSION, MSG.common_title_version());
    versionField.setCellFormatter(
        new CellFormatter() {
          public String format(Object o, ListGridRecord listGridRecord, int i, int i1) {
            Integer _bundleId = listGridRecord.getAttributeAsInt("bundleId");
            Integer _bvId = listGridRecord.getAttributeAsInt("id");
            return "<a href=\""
                + LinkManager.getBundleVersionLink(_bundleId, _bvId)
                + "\">"
                + o
                + "</a>";
          }
        });

    ListGridField nameField =
        new ListGridField(BundleVersionDataSource.FIELD_NAME, MSG.common_title_name());

    ListGridField descriptionField =
        new ListGridField(
            BundleVersionDataSource.FIELD_DESCRIPTION, MSG.common_title_description());

    ListGridField fileCountField =
        new ListGridField(BundleVersionDataSource.FIELD_FILECOUNT, MSG.view_bundle_bundleFiles());

    idField.setWidth(50);
    versionField.setWidth("20%");
    nameField.setWidth("25%");
    descriptionField.setWidth("*");
    fileCountField.setWidth("10%");

    setListGridFields(idField, versionField, nameField, descriptionField, fileCountField);

    setListGridDoubleClickHandler(
        new DoubleClickHandler() {
          @Override
          public void onDoubleClick(DoubleClickEvent event) {
            ListGrid listGrid = (ListGrid) event.getSource();
            ListGridRecord[] selectedRows = listGrid.getSelectedRecords();
            if (selectedRows != null && selectedRows.length == 1) {
              String selectedId =
                  selectedRows[0].getAttribute(BundleVersionDataSource.FIELD_BUNDLE_ID);
              String selectedVersionId =
                  selectedRows[0].getAttribute(BundleVersionDataSource.FIELD_ID);
              CoreGUI.goToView(
                  LinkManager.getBundleVersionLink(
                      Integer.valueOf(selectedId), Integer.valueOf(selectedVersionId)));
            }
          }
        });
  }
  @Override
  protected List<DataSourceField> addDataSourceFields() {
    List<DataSourceField> fields = super.addDataSourceFields();

    DataSourceField idDataField = new DataSourceTextField("id", MSG.common_title_id());
    idDataField.setPrimaryKey(true);
    fields.add(idDataField);

    DataSourceTextField nameDataField = new DataSourceTextField("name", MSG.common_title_name());
    nameDataField.setCanEdit(false);
    fields.add(nameDataField);

    DataSourceTextField parentIdField =
        new DataSourceTextField("parentId", MSG.dataSource_ContentRepoTree_field_parentId());
    parentIdField.setForeignKey("id");
    fields.add(parentIdField);

    return fields;
  }