public EntityEditingDialog(
     Window parent,
     Set<Class<?>> entityClasses,
     Class<?> primaryClassSelection,
     PersistenceStorage storage,
     MessageHandler messageHandler,
     ConfirmMessageHandler confirmMessageHandler,
     IdApplier<?> idApplier,
     Map<Class<?>, WarningHandler<?>> warningHandlers,
     FieldInitializer fieldInitializer) {
   super(parent, ModalityType.APPLICATION_MODAL);
   this.messageHandler = messageHandler;
   this.storage = storage;
   this.fieldInitializer = fieldInitializer;
   init(entityClasses, primaryClassSelection, storage);
   reflectionFormBuilder =
       new JPAReflectionFormBuilder(
           storage,
           DocumentScanner.generateApplicationWindowTitle(
               "Field description", DocumentScanner.APP_NAME, DocumentScanner.APP_VERSION),
           messageHandler,
           confirmMessageHandler,
           new JPACachedFieldRetriever(),
           idApplier,
           warningHandlers);
   init1(entityClasses, primaryClassSelection);
 }
 private void deleteButtonActionPerformed(
     java.awt.event.ActionEvent evt) { // GEN-FIRST:event_deleteButtonActionPerformed
   int answer =
       JOptionPane.showConfirmDialog(
           this,
           "Do you really want to delete all selected entities?",
           DocumentScanner.generateApplicationWindowTitle(
               "Delete entities", DocumentScanner.APP_NAME, DocumentScanner.APP_VERSION),
           JOptionPane.YES_NO_OPTION,
           JOptionPane.WARNING_MESSAGE);
   if (answer == JOptionPane.YES_OPTION) {
     List<Object> selectedEntities = this.entityEditingQueryPanel.getSelectedObjects();
     for (Object selectedEntity : selectedEntities) {
       try {
         this.storage.delete(selectedEntity);
       } catch (StorageException ex) {
         messageHandler.handle(new Message(ex, JOptionPane.ERROR_MESSAGE));
       }
     }
     this.entityEditingQueryPanel.getQueryComponent().repeatLastQuery();
   }
 } // GEN-LAST:event_deleteButtonActionPerformed