public Component getTableCellRendererComponent(
                            JTable table, Object obj,
                            boolean isSelected, boolean hasFocus,
                            int row, int column) {
        //ObjectViewer elementViewer = viewer.getElementView();
        
        getViewer().setObject(obj);
        
        int height = (int)(getViewer().getView().getPreferredSize().getHeight() * 1.1);
        if(table.getRowHeight(row) < height){
            table.setRowHeight(row, height);
        }

        int width = (int)(getViewer().getView().getPreferredSize().getWidth() * 1.1);
        if(table.getColumnModel().getColumn(column).getPreferredWidth() < width){
            table.getColumnModel().getColumn(column).setPreferredWidth(width);
        }
        
        if(isSelected){
            getViewer().getView().setForeground(selectedForeground);
            getViewer().getView().setBackground(selectedBackground);
        }
        else{
            getViewer().getView().setForeground(unselectedForeground);
            getViewer().getView().setBackground(unselectedBackground);
        }
        
        
        return getViewer().getView();
    }