Buggy code:
public class FileCellRenderer extends DefaultTableCellRenderer { public static Icon fileIcon = GUIUtilities . loadIcon ( "File.png" ) ; public static Icon openFileIcon = GUIUtilities . loadIcon ( "OpenFile.png" ) ; public static Icon dirIcon = GUIUtilities . loadIcon ( "Folder.png" ) ; public static Icon openDirIcon = GUIUtilities . loadIcon ( "OpenFolder.png" ) ; public static Icon filesystemIcon = GUIUtilities . loadIcon ( "DriveSmall.png" ) ; public static Icon loadingIcon = GUIUtilities . loadIcon ( "ReloadSmall.png" ) ; public FileCellRenderer ( ) { } public Component getTableCellRendererComponent ( JTable table , Object value , boolean isSelected , boolean hasFocus , int row , int column ) { super . getTableCellRendererComponent ( table , value , isSelected , hasFocus , row , column ) ; if ( value instanceof VFSDirectoryEntryTableModel . Entry ) { VFSDirectoryEntryTableModel . Entry entry = ( ( VFSDirectoryEntryTableModel . Entry ) ( value ) ) ; VFSFile file = entry . dirEntry ; setFont ( ( ( file . getType ( ) ) == ( VFSFile . FILE ) ? plainFont : boldFont ) ) ; this . isSelected = isSelected ; this . file = file ; if ( column == 0 ) { String path ; if ( ( file . getSymlinkPath ( ) ) == null ) path = file . getPath ( ) ; else path = file . getSymlinkPath ( ) ; openBuffer = ( jEdit . _getBuffer ( path ) ) != null ; setIcon ( ( showIcons ? FileCellRenderer . getIconForFile ( file , entry . expanded , openBuffer ) : null ) ) ; setText ( file . getName ( ) ) ; int state ; if ( ( file . getType ( ) ) == ( VFSFile . FILE ) ) state = FileCellRenderer . ExpansionToggleBorder . STATE_NONE ; else if ( entry . expanded ) state = FileCellRenderer . ExpansionToggleBorder . STATE_EXPANDED ; else state = FileCellRenderer . ExpansionToggleBorder . STATE_COLLAPSED ; setBorder ( new FileCellRenderer . ExpansionToggleBorder ( state , entry . level ) ) ; } else { VFSDirectoryEntryTableModel model = ( ( VFSDirectoryEntryTableModel ) ( table . getModel ( ) ) ) ; <START_BUG> String extAttr = model . getExtendedAttribute ( ( column - 1 ) ) ; <END_BUG> openBuffer = false ; setIcon ( null ) ; setText ( file . getExtendedAttribute ( extAttr ) ) ; setBorder ( new EmptyBorder ( 1 , 1 , 1 , 1 ) ) ; } } return this ; } public void paintComponent ( Graphics g ) { } public static Icon getIconForFile ( VFSFile file , boolean expanded ) { } public static Icon getIconForFile ( VFSFile file , boolean expanded , boolean openBuffer ) { } Font plainFont ; Font boldFont ; boolean showIcons ; void propertiesChanged ( ) { } int getEntryWidth ( VFSDirectoryEntryTableModel . Entry entry , Font font , FontRenderContext fontRenderContext ) { } private boolean openBuffer ; private boolean isSelected ; private VFSFile file ; static class ExpansionToggleBorder implements Border { static final Icon COLLAPSED_ICON ; static final Icon EXPANDED_ICON ; static final int ICON_WIDTH ; static final int LEVEL_WIDTH = 15 ; static final int STATE_NONE = 0 ; static final int STATE_COLLAPSED = 1 ; static final int STATE_EXPANDED = 2 ; public ExpansionToggleBorder ( int state , int level ) { } public void paintBorder ( Component c , Graphics g , int x , int y , int width , int height ) { } public Insets getBorderInsets ( Component c ) { } public boolean isBorderOpaque ( ) { } public static boolean isExpansionToggle ( int level , int x ) { } private int state ; private int level ; } }

Fix:
String extAttr = model . getExtendedAttribute ( column ) ;