private ITrackDescriptor getTrackDescByRow(int selectedRowIndex, JTable table) {
        String song = ((DefaultTableModel) table.getModel()).getValueAt(selectedRowIndex, 0).toString();
        String artist = ((DefaultTableModel) table.getModel()).getValueAt(selectedRowIndex, 1).toString();
        String album = ((DefaultTableModel) table.getModel()).getValueAt(selectedRowIndex, 2).toString();
        String albumArtist = ((DefaultTableModel) table.getModel()).getValueAt(selectedRowIndex, 3).toString();
        String trackNum = ((DefaultTableModel) table.getModel()).getValueAt(selectedRowIndex, 4).toString();
        String genre = ((DefaultTableModel) table.getModel()).getValueAt(selectedRowIndex, 5).toString();
        String length = ((DefaultTableModel) table.getModel()).getValueAt(selectedRowIndex, 6).toString();

        for (ITrackDescriptor currTrack : results) {
            int s = currTrack.getLengthInSeconds();
            if ((currTrack.getTitle().equals(song))
                    && (currTrack.getAlbumArtist().equals(albumArtist))
                    && (currTrack.getArtistName().equals(artist))
                    && (currTrack.getAlbumName().equals(album))
                    && (String.valueOf(currTrack.getTrackNum()).equals(trackNum))
                    && (currTrack.getGenre().equals(genre))
                    && (String.format("%02d:%02d:%02d", s / 3600, (s % 3600) / 60, (s % 60)).equals(length))) {
                return currTrack;
            }
        }

        return null;
    }