anchor.diff:      ok.
   
   
  +-spec reset_state_fields_for_next_lane(state()) -> state().
  +reset_state_fields_for_next_lane(State) ->
  +    State#workflow_execution_state{
  +        iteration_state = workflow_iteration_state:init(),
  +        jobs = workflow_jobs:init(),
  +        tasks_data_registry = workflow_tasks_data_registry:empty()
  +    }.
  +
  +
   -spec handle_lane_preparation_failure(state(), workflow_engine:lane_id() | undefined,
       workflow_engine:preparation_mode()) -> {ok, state()} | ?WF_ERROR_UNKNOWN_LANE.
   handle_lane_preparation_failure(
  
positive.code:     {ok, State#workflow_execution_state{execution_status = ?WAITING_FOR_NEXT_LANE_PREPARATION_END(false)}};
  handle_lane_preparation_failure(
      #workflow_execution_state{
          execution_status = ?EXECUTION_CANCELLED(_)
      } = State, _LaneId, ?PREPARE_CURRENT) ->
      {ok, State};
  handle_lane_preparation_failure(State, _LaneId, ?PREPARE_CURRENT) ->
      {ok, State#workflow_execution_state{execution_status = ?PREPARATION_FAILED}};
  handle_lane_preparation_failure(
  
negative.code:         ?WF_ERROR_PREPARATION_FAILED -> ok
      end;
  report_lane_execution_prepared(Handler, ExecutionId, LaneId, ?PREPARE_IN_ADVANCE, prepare, {ok, LaneSpec} = Ans) ->
      case update(ExecutionId, fun(State) ->
          finish_lane_preparation_in_advance(reset_state_fields_for_next_lane(State), LaneId, LaneSpec)
      end) of
          {ok, _} -> ok;
          ?WF_ERROR_UNKNOWN_LANE -> ok;
          ?WF_ERROR_CURRENT_LANE -> report_lane_execution_prepared(Handler, ExecutionId, LaneId, ?PREPARE_CURRENT, prepare, Ans)
      end;
  report_lane_execution_prepared(_Handler, ExecutionId, LaneId, LaneType, _, error) ->
      case update(ExecutionId, fun(State) ->
          handle_lane_preparation_failure(reset_state_fields_for_next_lane(State), LaneId, LaneType)
      end) of
          {ok, _} -> ok;
          ?WF_ERROR_UNKNOWN_LANE -> ok
      end.
  