public boolean save() {
		if (mDirty) {
			try {
				SafeFileUpdater trans = new SafeFileUpdater();

				trans.begin();
				try {
					File file = trans.getTransactionFile(mFile);
					try (OutputStream out = new FileOutputStream(file)) {
						mPrefs.storeToXML(out, BundleInfo.getDefault().getName());
					}
				} catch (IOException ioe) {
					trans.abort();
					throw ioe;
				}
				trans.commit();
				mDirty = false;
			} catch (Exception exception) {
				return false;
			}
		}
		return true;
	}