code: private static DataStore readCacheFileAsFallback(@Nonnull final DataReader reader, @Nonnull final File cacheFile,
  			@Nonnull final Charset charset, @Nonnull final DataStore fallback) {
  		DataStore fallbackDataStore;
  		if (!isEmpty(cacheFile, charset)) {
  			final URL cacheFileUrl = UrlUtil.toUrl(cacheFile);
  			try {
  				fallbackDataStore = new CacheFileDataStore(reader.read(cacheFileUrl, charset), reader, cacheFileUrl, charset);
  				LOG.debug(MSG_CACHE_FILE_IS_FILLED);
  			} catch (final RuntimeException e) {
  				fallbackDataStore = fallback;
  				deleteCacheFile(cacheFile);
  			}
  		} else {
  			fallbackDataStore = fallback;
  			LOG.debug(MSG_CACHE_FILE_IS_EMPTY);
  		}
  		return fallbackDataStore;
  	}
docs: Tries to read the content of specified cache file and returns them as fallback data store. If the cache file
  contains unexpected data the given fallback data store will be returned instead.
  
  @param reader
  data reader to read the given {@code dataUrl}
  @param cacheFile
  file with cached <em>UAS data</em> in XML format or empty file
  @param versionUrl
  URL to version information about the given <em>UAS data</em>
  @param charset
  the character set in which the data should be read
  @param fallback
  <em>UAS data</em> as fallback in case the data on the specified resource can not be read correctly
  @return a fallback data store