code: static Configuration read(File f) throws FileNotFoundException, IOException {
  		try (ObjectInputStream is = new ObjectInputStream(new FileInputStream(f))) {
  			return (Configuration)is.readObject();
  		} catch (ClassNotFoundException e) {
  			throw new IOException("Failed to deserialize.", e);
  		}
  	}
docs: Reads a file that was previously written with {@link #write(File)}.
  @param f the file
  @return returns a new configuration instance based on the contents of the file
  @throws FileNotFoundException if the file does not exist, is a directory rather
  than a regular file, or for some other reason cannot be opened for reading.
  @throws IOException if an I/O problem occurs.