}
}
mainpref.putArray(key, newLists);
} else if (entry.getValue() instanceof MapListSetting) {
MapListSetting mlSetting = (MapListSetting) entry.getValue();
List<Map<String, String>> newMaps = getListOfStructs(mainpref, key, true);
if (newMaps == null) continue;
Iterator<Map<String, String>> mapIterator = newMaps.iterator();
while (mapIterator.hasNext()) {
Map<String, String> map = mapIterator.next();
for (Map<String, String> removeMap : mlSetting.getValue()) {
if (map.entrySet().containsAll(removeMap.entrySet())) {
// the map contain all mentioned key-value pair, so it should be deleted from "maps"
log("Deleting preferences: deleting map from maps %s: %s\n", key, map);
mapIterator.remove();
}