private void storeDiffs(
     Preferences prefs, ImageWriterFactory prevFactory, ImageWriterFactory factory)
     throws BackingStoreException {
   for (Entry<String, ImageWriterParam> entry : prevFactory.getEntries()) {
     String tsuid = entry.getKey();
     if (factory.get(tsuid) == null) {
       Preferences node = prefs.node(tsuid);
       node.removeNode();
       node.flush();
     }
   }
   for (Entry<String, ImageWriterParam> entry : factory.getEntries()) {
     String tsuid = entry.getKey();
     storeDiffs(prefs.node(tsuid), prevFactory.get(tsuid), entry.getValue());
   }
 }