code: public ECompletedExecutionInstruction executionComplete (final IJobExecutionContext context,
                                                             final JobExecutionException result)
    {
      if (result != null && result.refireImmediately ())
      {
        return ECompletedExecutionInstruction.RE_EXECUTE_JOB;
      }
  
      if (result != null && result.unscheduleFiringTrigger ())
      {
        return ECompletedExecutionInstruction.SET_TRIGGER_COMPLETE;
      }
  
      if (result != null && result.unscheduleAllTriggers ())
      {
        return ECompletedExecutionInstruction.SET_ALL_JOB_TRIGGERS_COMPLETE;
      }
  
      if (!mayFireAgain ())
      {
        return ECompletedExecutionInstruction.DELETE_TRIGGER;
      }
  
      return ECompletedExecutionInstruction.NOOP;
    }
docs: <p>
  This method should not be used by the Quartz client.
  </p>
  <p>
  Called after the <code>{@link IScheduler}</code> has executed the
  <code>{@link com.helger.quartz.IJobDetail}</code> associated with the
  <code>Trigger</code> in order to get the final instruction code from the
  trigger.
  </p>
  
  @param context
  is the <code>JobExecutionContext</code> that was used by the
  <code>Job</code>'s<code>execute(xx)</code> method.
  @param result
  is the <code>JobExecutionException</code> thrown by the
  <code>Job</code>, if any (may be null).
  @return one of the CompletedExecutionInstruction constants.
  @see com.helger.quartz.ITrigger.ECompletedExecutionInstruction
  @see #triggered(ICalendar)