code: protected static void readAndSave(@Nonnull final File file, @Nonnull final DataStore store) throws IOException {
  		Check.notNull(file, "file");
  		Check.notNull(store, "store");
  
  		final URL url = store.getDataUrl();
  		final Charset charset = store.getCharset();
  
  		final boolean isEqual = url.toExternalForm().equals(UrlUtil.toUrl(file).toExternalForm());
  		if (!isEqual) {
  
  			// check if the data can be read in successfully
  			final String data = UrlUtil.read(url, charset);
  			if (Data.EMPTY.equals(store.getDataReader().read(data))) {
  				throw new IllegalStateException("The read in content can not be transformed to an instance of 'Data'.");
  			}
  
  			final File tempFile = createTemporaryFile(file);
  
  			FileOutputStream outputStream = null;
  			boolean threw = true;
  			try {
  				// write data to temporary file
  				outputStream = new FileOutputStream(tempFile);
  				outputStream.write(data.getBytes(charset));
  
  				// delete the original file
  				deleteFile(file);
  
  				threw = false;
  			} finally {
  				Closeables.close(outputStream, threw);
  			}
  
  			// rename the new file to the original one
  			renameFile(tempFile, file);
  		} else {
  			LOG.debug(MSG_SAME_RESOURCES);
  		}
  	}
docs: Reads the content from the given {@link URL} and saves it to the passed file.
  
  @param file
  file in which the entire contents from the given URL can be saved
  @param store
  a data store for <em>UAS data</em>
  @throws net.sf.qualitycheck.exception.IllegalNullArgumentException
  if any of the passed arguments is {@code null}
  @throws IOException
  if an I/O error occurs