public static String saveObjectFile(Object content, String description,
	String extension)
	{
		JFileChooser fileChooser = new JFileChooser();
		fileChooser.setFileFilter(new FileNameExtensionFilter(description,
		extension));
		String path = "";
		try
		{
			if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
			{
				path = fileChooser.getSelectedFile().getAbsolutePath();
				if ( ! path.endsWith("." + extension))
				{
					path += "." + extension;
				}
				File file = new File(path);
				if ((file.exists() && JOptionPane.OK_OPTION == JOptionPane
				.showConfirmDialog(null, Lang.getLine("file_exists_replace"),
				Lang.getLine("file_exists"), JOptionPane.YES_NO_OPTION))
				|| ! file.exists())
				{
					ObjectOutputStream oos = new ObjectOutputStream(
					new FileOutputStream(path));
					oos.writeObject(content);
					oos.close();
				}
			}
			return path;
		}
		catch (Exception e)
		{
			e.printStackTrace();
			return path;
		}
	}