code: public void store(final Writer writer, final String comments, final boolean sorted, final boolean process) throws IOException {
  		BufferedWriter bw = writer instanceof BufferedWriter ? (BufferedWriter) writer : new BufferedWriter(writer);
  
  		if (comments != null) {
  			for (Scanner scanner = new Scanner(comments); scanner.hasNextLine();) {
  				bw.write("#");
  				bw.write(scanner.nextLine());
  				bw.newLine();
  			}
  		}
  
  		bw.write("#" + new Date());
  		bw.newLine();
  		Set<String> keys = keySet();
  		if (sorted) {
  			keys = Sets.newTreeSet(keys);
  		}
  
  		for (String key : keys) {
  			/*
  			 * No need to escape embedded and trailing spaces for value, hence pass false to flag.
  			 */
  			bw.write(saveConvert(key, true) + "=" + saveConvert(get(key, process), false));
  			bw.newLine();
  		}
  		bw.flush();
  	}
docs: Writes the properties to the specified writer, including defaults.
  
  @param writer
  The writer
  @param comments
  The header comment written to the writer
  @param sorted
  If {@code true}, the properties are written sorted by key
  @param process
  If {@code true}, place holders are resolved