code: @Override
      @PreAuthorize("hasRole(@configHolder.getSuperAdminRoleName()) or hasPermission(#plugin, 'DELETE')")
      public void delete(E wpsProcessExecute) {
          if (wpsPluginService == null) {
              LOG.error("WPSProcessExecute cannot be deleted, failed to autowire WpsPluginService");
              return;
          }
  
          WpsPluginDao<WpsPlugin> wpsPluginDao = wpsPluginService.getDao();
  
          SimpleExpression eqProcess = Restrictions.eq("process", wpsProcessExecute);
          List<WpsPlugin> wpsPlugins = wpsPluginDao.findByCriteria(eqProcess);
  
          Integer processId = wpsProcessExecute.getId();
          for (WpsPlugin wpsPlugin : wpsPlugins) {
              WpsProcessExecute process = wpsPlugin.getProcess();
              if (process != null) {
                  String msg = String.format(
                      "Remove WpsProcessExecute (id=%s) from WpsPlugin (id=%s)",
                      processId, wpsPlugin.getId()
                  );
                  LOG.debug(msg);
                  wpsPlugin.setProcess(null);
                  wpsPluginService.saveOrUpdate(wpsPlugin);
              }
          }
          LOG.debug(String.format("Delete plugin (id=%s)", processId));
  
          // Call overridden parent to actually delete the entity itself
          super.delete(wpsProcessExecute);
      }
docs: Removes the passed WpsProcessExecute from all WpsPlugins and afterwards
  deletes the WpsProcessExecute itself. This overrides the generic method
  to delete {@link AbstractCrudService#delete(de.terrestris.shoguncore.model.PersistentObject)}.
  
  @param wpsProcessExecute