code: protected void fireAbort(CmsUUID userId, CmsPublishJobEnqueued publishJob) {
  
          if (LOG.isDebugEnabled()) {
              LOG.debug(Messages.get().getBundle().key(Messages.LOG_PUBLISH_JOB_ABORT_0));
          }
          for (Iterator<I_CmsPublishEventListener> it = iterator(); it.hasNext();) {
              I_CmsPublishEventListener listener = it.next();
              try {
                  listener.onAbort(userId, publishJob);
              } catch (Throwable t) {
                  // catch every thing including runtime exceptions
                  if (LOG.isErrorEnabled()) {
                      LOG.error(
                          Messages.get().getBundle().key(
                              Messages.ERR_PUBLISH_JOB_ABORT_ERROR_1,
                              listener.getClass().getName()),
                          t);
                  }
                  if (publishJob.m_publishJob.getPublishReport() != null) {
                      publishJob.m_publishJob.getPublishReport().println(t);
                  }
              }
          }
          if ((userId != null) && userId.equals(publishJob.getUserId())) {
              // prevent showing messages if the owner aborted the job by himself
              return;
          }
          // popup the abort message
          String msgText = Messages.get().getBundle(publishJob.getLocale()).key(
              Messages.GUI_PUBLISH_JOB_ABORTED_2,
              new Long(publishJob.getEnqueueTime()),
              m_publishEngine.getUser(userId).getName());
          m_publishEngine.sendMessage(publishJob.getUserId(), msgText, true);
      }
docs: Fires an abort event to all listeners.<p>
  
  @param userId the id of the user that aborted the job
  @param publishJob the publish job that is going to be aborted.