public File getWorkingDirectory(boolean persist) { String result = getPersistentStringProperty(PP_REND_WORK_DIR); if (result.length() == 0) { File f = manager.getDefaultWorkingDirectory(persist); if (persist) { f.mkdirs(); } String name = FileUtil.convertOSSpecificChars(getName(), true); for (int i = 0; i < 1024; i++) { String test_name = name + (i == 0 ? "" : ("_" + i)); File test_file = new File(f, test_name); if (!test_file.exists()) { f = test_file; break; } } result = f.getAbsolutePath(); if (persist) { setPersistentStringProperty(PP_REND_WORK_DIR, result); } } File f_result = new File(result); if (!f_result.exists()) { if (persist) { f_result.mkdirs(); } } return (f_result); }