docs: private void markInstanceExecutionFailed(WSJobInstance jobInstance, WSJobExecution jobExecution, String correlationId) {
  
          //Disregard any attempted transitions out of the ABANDONED state.
          if (jobInstance.getBatchStatus() == BatchStatus.ABANDONED) {
  
              if (logger.isLoggable(Level.FINE)) {
                  logger.fine("Attempt to transition from BatchStatus ABANDONED to FAILED is disallowed. ");
              }
  
              return;
          }
  
          getPersistenceManagerService().updateJobInstanceWithInstanceStateAndBatchStatus(jobInstance.getInstanceId(),
                                                                                          InstanceState.FAILED,
                                                                                          BatchStatus.FAILED,
                                                                                          new Date());
  
          publishEvent(jobInstance, BatchEventsPublisher.TOPIC_INSTANCE_FAILED, correlationId);
  
          getPersistenceManagerService().updateJobExecutionAndInstanceOnStatusChange(jobExecution.getExecutionId(),
                                                                                     BatchStatus.FAILED,
                                                                                     new Date());
  
          publishEvent(jobExecution, BatchEventsPublisher.TOPIC_EXECUTION_FAILED, correlationId);
      }