public void sendUpdate( Observable o, Object arg ) { if ( tableTreeViewer == null || tableTreeViewer.getTableTree().isDisposed() ) {
public void sendUpdate(Observable o, Object arg) { if ((tableTreeViewer == null) || tableTreeViewer.getTableTree().isDisposed()) {
    public void sendUpdate( Observable o, Object arg ) {        if ( tableTreeViewer == null          	|| tableTreeViewer.getTableTree().isDisposed() ) {            return;        }        if ( o instanceof FileInfoIntMap ) {            // a new FileInfo            if ( arg instanceof FileInfo ) {                FileInfo fileInfo = (FileInfo) arg;                if ( fileInfo.isInteresting() ) {                    fileInfo.addObserver( this );                    delayedAddFileInfo( fileInfo );                }                // removeObsolete && readStream            } else if ( arg == null ) {                tableTreeViewer.refresh();            }        } else if ( o instanceof FileInfo ) {            // updated fileInfo            if ( arg instanceof String[] ) {                FileInfo fileInfo = (FileInfo) o;                if ( fileInfo.isInteresting() ) {                    if ( updateDelay == 0 ) {                        String[] args = (String[]) arg;                        tableTreeViewer.update( fileInfo, ( args.length > 0 ) ? args : null );                    } else {                        delayedUpdateFileInfo( fileInfo );                    }                } else {                    delayedRemoveFileInfo( fileInfo );                }             // ClientInfos in a TreeClientInfo            } else if ( arg instanceof TreeClientInfo ) {                TreeClientInfo treeClientInfo = (TreeClientInfo) arg;                                if (treeClientInfo.getDelete()) {					tableTreeViewer.remove( treeClientInfo );                } else {                	tableTreeViewer.add( treeClientInfo.getFileInfo(), treeClientInfo );                }            }        }    }