code: @RequestMapping(method = RequestMethod.POST, value = "/workflowInstance/{woinRefNum}",
              produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.TEXT_XML_VALUE})
      public ResponseEntity<WorkflowInstanceRestModel> updateIntance( @PathVariable long woinRefNum, @RequestBody UpdateInstanceStatusForm form ){
          WorkflowInstanceState woin = facade.findWorkflowInstance( woinRefNum, true );
          if( woin == null ){
              return new ResponseEntity<>( HttpStatus.NOT_FOUND );
          }
          try{
              if( WorkflowInstanceStatus.ABORT.name().equals( form.getStatus() ) ){
                  facade.abortWorkflowInstance( woinRefNum );
              }
              else if( WorkflowInstanceStatus.SUSPENDED.name().equals( form.getStatus() ) ){
                  facade.suspendWorkflowInstance( woinRefNum );
              }
              else if( WorkflowInstanceStatus.EXECUTING.name().equals( form.getStatus() ) ){
                  facade.resumeWorkflowInstance( woinRefNum );
              }
              else{
                  return new ResponseEntity<>( HttpStatus.BAD_REQUEST );
              }
          }
          catch( UnexpectedStatusException e ){
              return new ResponseEntity<>( HttpStatus.CONFLICT );
          }
          woin = facade.findWorkflowInstance( woinRefNum, true );
          return new ResponseEntity<>( createInstanceModel( woin ), HttpStatus.OK );
      }
docs: Aborts, suspends or resumes a workflow instance.
  
  <pre>
  Request:  POST /workflowInstance/{woinRefNum} {status: "ABORT"}
  Response: OK, {refNum: 1, workflowName: "credit.step1", workflowVersion: null, label1: "one", label2: null, status: ABORT}
  Response: NOT_FOUND, if no such workflow instance exists
  Response: CONFLICT, if the workflow's current status does not allow the requested status transition
  Response: BAD_REQUEST, if the new status is not allowed.
  </pre>