private boolean waitForSelect(){
        try{
            while (!fNext && !fCancel){
                Thread.sleep(50);
            }
            if (fNext){
                PrintLog.Log("button was pressed");
                String path = textField.getText();
                File f = new File(path);
                if (f.isDirectory()){
                    closeForm();
                    InstallerSettings is = new InstallerSettings();
                    is.setInstallDir(path);
                    Helpers help = new Helpers();
                    if (help.moveFiles()){
                        Persistence p = new Persistence();
                        p.saveData("ospath", "\""+path+"\"");
                        return true;
                    } else {
                    	frame.setVisible(true);
                        additionalInstructions.setText("<html>The location you selected is invalid "+
                                                    "or locked for copying.  Please select a different location.</html>");
                        additionalInstructions.setForeground(Color.red);
                        frame.getContentPane().repaint();
                        textField.setBackground(Color.yellow);
                        fNext = false;
                        return waitForSelect();
                    }
                } else {
                	frame.setVisible(true);
                    additionalInstructions.setText("<html>The location you selected is invalid "+
                            "or locked for copying.  Please select a different location.</html>");
                    additionalInstructions.setForeground(Color.red);
                    frame.getContentPane().repaint();
                    textField.setBackground(Color.yellow);
                    fNext = false;
                    return waitForSelect();
                }
            }
            if (fCancel){
                closeForm();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }