private static void save()
	{
		synchronized (data)
		{
			if (!modified) return;
			File prefFile = new File(PREF_FILENAME);
			ObjectOutputStream out = null;
			try {
				out = new ObjectOutputStream(new BufferedOutputStream(new FileOutputStream(prefFile)));
				for (Map.Entry<String, Serializable> recordItem : data.entrySet())
				{
					out.writeBoolean(true);
					out.writeObject(recordItem.getKey());
					out.writeObject(recordItem.getValue());
				}
				out.writeBoolean(false);
				out.flush();
			} catch (IOException e) {
			} finally {
				try {
					if (out != null) out.close();
				} catch (IOException e) { }
			}
			modified = false;
		}
	}