public boolean performOk() {
        // this'll never happen, but..
        if (preferences == null) return false;
        
        String path = processing_app_path_text.getText().trim();
        if (!path.endsWith(OS.helper().getFileSeparator())) 
            path +=  OS.helper().getFileSeparator();
        preferences.put(ProjectPreferences.APP_PATH_KEY, path);

        path = processing_sketch_path_text.getText().trim();
        if (!path.endsWith(OS.helper().getFileSeparator())) 
            path +=  OS.helper().getFileSeparator();
        preferences.put(ProjectPreferences.SKETCH_PATH_KEY, path);
        
        try {
            preferences.flush();
        } catch (BackingStoreException e) {
           LogHelper.LogError(e);
           return false;
        }
 
        return true;
    }