if (hasPrefValues) {
if (loadFreshData) {
FastByIDMap<Collection<Preference>> data = new FastByIDMap<Collection<Preference>>();
FileLineIterator iterator = new FileLineIterator(dataFile, false);
processFile(iterator, data, false);
for (File updateFile : findUpdateFiles()) {
processFile(new FileLineIterator(updateFile, false), data, false);
}
return new GenericDataModel(GenericDataModel.toDataMap(data, true));
} else {
FastByIDMap<PreferenceArray> rawData = ((GenericDataModel) delegate).getRawUserData();
for (File updateFile : findUpdateFiles()) {
processFile(new FileLineIterator(updateFile, false), rawData, true);
}
return new GenericDataModel(rawData);
}
} else {
if (loadFreshData) {
FastByIDMap<FastIDSet> data = new FastByIDMap<FastIDSet>();
FileLineIterator iterator = new FileLineIterator(dataFile, false);
processFileWithoutID(iterator, data);
for (File updateFile : findUpdateFiles()) {
processFileWithoutID(new FileLineIterator(updateFile, false), data);
}
return new GenericBooleanPrefDataModel(data);
} else {
FastByIDMap<FastIDSet> rawData = ((GenericBooleanPrefDataModel) delegate).getRawUserData();
for (File updateFile : findUpdateFiles()) {
processFileWithoutID(new FileLineIterator(updateFile, false), rawData);
}
return new GenericBooleanPrefDataModel(rawData);
}