@Override
  public void handleDoubleClick(int row) {
    if (row == -1 || row == table.getRowCount()) return;

    EventTableModel<VisualSearchResult> results = table.getEventTableModel();
    VisualSearchResult result = results.getElementAt(row);

    if (result.getDownloadState() == BasicDownloadState.DOWNLOADED
        || result.getDownloadState() == BasicDownloadState.DOWNLOADING) {
      navigator.getNavItem(NavCategory.DOWNLOAD, MainDownloadPanel.NAME).select(result);
    } else if (result.getDownloadState() == BasicDownloadState.LIBRARY) {
      libraryNavigator.selectInLibrary(result.getUrn(), result.getCategory());
    } else {
      resultPanel.download(results.getElementAt(row));
    }
  }