Check.notNull(charset, "charset");
Check.notNull(dataUrl, "dataUrl");
Check.notNull(fallback, "fallback");
Check.notNull(versionUrl, "versionUrl");
final DataReader reader = new XmlDataReader();
final DataStore fallbackDataStore = readCacheFileAsFallback(reader, cacheFile, charset, fallback);
return new CachingXmlDataStore(reader, dataUrl, versionUrl, charset, cacheFile, fallbackDataStore);
}