private static final String acquireNewWorkingDirectory(Preferences tcPrefs) {
		File workingDirectoryFile = null;
		
		do {
			JFileChooser chooser = new JFileChooser();
			chooser.setDialogTitle("Select TaleCraft Working-Directory! (You only have to do this once)");
			chooser.setFileHidingEnabled(false);
			chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
			chooser.setMultiSelectionEnabled(false);
			chooser.setSelectedFile(new File(TaleCraftLauncher.class.getProtectionDomain().getCodeSource().getLocation().getPath()));
			int result = chooser.showOpenDialog(null);
			
			if(result == JFileChooser.CANCEL_OPTION)
			{
				int breakResult = JOptionPane.showConfirmDialog(null, "If you cancel this, you wont be able to use the Application! It will just close itself!", "?!", JOptionPane.OK_CANCEL_OPTION);
				
				if(breakResult == JOptionPane.OK_OPTION)
				{
					// Hard Crash the JVM!
					System.exit(0);
					Runtime.getRuntime().halt(0);
				}
				
				continue;
			}
			
			if(result == JFileChooser.APPROVE_OPTION)
				workingDirectoryFile = chooser.getSelectedFile();
			
			if(!workingDirectoryFile.isDirectory())
				continue;
			
		} while((workingDirectoryFile == null) || !testDirectoryForWriteAccess(workingDirectoryFile));
		
		String workingDirectory = workingDirectoryFile.getAbsolutePath();
		tcPrefs.put("workingDirectory", workingDirectory);
		return workingDirectory;
	}