Buggy code:
public class FileTransferGui extends JFrame implements CommandResponseListener , MyObserver { public static final String version = "v.<seq2seq4repair_space>2011-10-20" ; private Vector < FileTransferAccount > accounts = new Vector < FileTransferAccount > ( ) ; private Vector < FileTransferAccount > supportedAccounts = new Vector < FileTransferAccount > ( ) ; private JPanel panelNorth ; private JComboBox selectAccount ; private JButton buConnect ; private JButton buEdit ; private JButton buRemove ; private JButton buTest ; private JPopupMenu popup ; private JMenuItem menuSendLogFile ; private JMenuItem menuTestConnection ; private JMenuItem menuCancel ; private JPanel panelStatus ; private JLabel txtStatus ; private JButton buCancelAll ; private JProgressBar progressBar ; private long progressCompleteFiles = 0 ; private HashMap < Long , Transfer > transfersInProgress = new HashMap < Long , Transfer > ( ) ; private DefaultComboBoxModel selectAccount_model ; private OSDXFileTransferClient client = null ; private JPanel panelRemote ; private TreeAndTablePanelOSDXClient ttpanelRemote ; private TreeAndTablePanelLocal panelLocal ; private TableCellRenderer leftRenderer ; private TableCellRenderer centerRenderer ; private TableCellRenderer rightRenderer ; private JPanel panelSouth ; private JList log ; private DefaultListModel log_model ; private File userHome = null ; public FileTransferGui ( ) { } private void initUserHome ( ) { } private void initSettings ( ) { } private void exit ( ) { } private void updateAccounts ( ) { } private void initComponents ( ) { } private void testConnection ( ) { } private void sendLogFile ( ) { final Logger logger = Logger . getFileTransferLogger ( ) ; final File log = Logger . getFileTransferLogger ( ) . getLogFile ( ) ; <START_BUG> if ( log != null ) { <END_BUG> Thread t = new Thread ( ) { public void run ( ) { HTTPClient httpclient = new HTTPClient ( logger . getLogfileUploadHost ( ) , logger . getLogfileUploadPort ( ) ) ; try { HTTPClientResponse resp = httpclient . sendPut ( new org . fnppl . opensdx . http . HTTPClientPutRequest ( log , logger . getLogfileUploadCommand ( ) ) ) ; Dialogs . showMessage ( ( "Send<seq2seq4repair_space>logging<seq2seq4repair_space>::<seq2seq4repair_space>" + ( resp . status ) ) ) ; } catch ( Exception e ) { e . printStackTrace ( ) ; Dialogs . showMessage ( ( ( "Error<seq2seq4repair_space>sending<seq2seq4repair_space>logfile.\nThe<seq2seq4repair_space>logfile<seq2seq4repair_space>has<seq2seq4repair_space>been<seq2seq4repair_space>saved<seq2seq4repair_space>to\n" + ( log . getAbsolutePath ( ) ) ) + "\nYou<seq2seq4repair_space>can<seq2seq4repair_space>send<seq2seq4repair_space>it<seq2seq4repair_space>by<seq2seq4repair_space>email." ) ) ; } } } ; t . start ( ) ; } else { Dialogs . showMessage ( "Logfile<seq2seq4repair_space>not<seq2seq4repair_space>found." ) ; } } private void initLayout ( ) { } private void buildUi ( ) { } public static void main ( String [ ] args ) { } private void button_connect_clicked ( ) { } private void button_edit_clicked ( ) { } private void saveAccounts ( ) { } private void button_remove_clicked ( ) { } private void testConnectionToFinetunes ( ) { } private void button_test_clicked ( ) { } private void button_upload_clicked ( ) { } private void button_download_clicked ( ) { } private void button_cancelAll_clicked ( ) { } Object sync_object = new Object ( ) ; public int addStatus ( String message ) { } public int addStatus ( String [ ] message ) { } public void setStatus ( int pos , String message ) { } public void setStatus ( int pos , String [ ] message ) { } public void setLastStatus ( String message ) { } public String getLastLogEntry ( ) { } public void notifyChange ( MyObservable changedIn ) { } public void onError ( OSDXFileTransferCommand command , String msg ) { } public void onStatusUpdate ( OSDXFileTransferCommand command , long progress , long maxProgress , String msg ) { } public void onSuccess ( OSDXFileTransferCommand command ) { } }

Fix:
if ( ( log != null ) && ( log . exists ( ) ) ) {