public void finishWorkflowExecution(
     WorkflowExecutionResult result,
     StepExecutionContext executionContext,
     WorkflowExecutionItem item) {
   List<Pair<StepContextId, INodeEntry>> currentContext = stepContext.getCurrentContextPairs();
   if (null == currentContext || currentContext.size() < 1) {
     notifyAllWorkflowState(
         null != result && result.isSuccess() ? ExecutionState.SUCCEEDED : ExecutionState.FAILED,
         new Date(),
         null);
   } else {
     notifyAllSubWorkflowState(
         createIdentifier(),
         null != result && result.isSuccess() ? ExecutionState.SUCCEEDED : ExecutionState.FAILED,
         new Date(),
         null);
   }
   stepContext.finishContext();
 }