@Override
  protected void mergeChilds(Device prev, Device device, Preferences deviceNode)
      throws BackingStoreException {
    ImageWriterExtension prevExt = prev.getDeviceExtension(ImageWriterExtension.class);
    ImageWriterExtension ext = device.getDeviceExtension(ImageWriterExtension.class);
    if (ext == null && prevExt == null) return;

    Preferences factoryNode = deviceNode.node("dcmImageWriterFactory");
    if (ext == null) factoryNode.removeNode();
    else if (prevExt == null) storeTo(ext.getImageWriterFactory(), factoryNode);
    else storeDiffs(factoryNode, prevExt.getImageWriterFactory(), ext.getImageWriterFactory());
  }
 @Override
 protected void storeChilds(Device device, Preferences deviceNode) {
   ImageWriterExtension ext = device.getDeviceExtension(ImageWriterExtension.class);
   if (ext != null) storeTo(ext.getImageWriterFactory(), deviceNode.node("dcmImageWriterFactory"));
 }