anchor.diff:      atm_workflow_executions_forest:tree_ids(),
       atm_workflow_executions_forest:listing_opts()
   ) ->
  -    atm_workflow_execution:listing().
  +    atm_workflow_executions_forest:entries().
   list_links(Node, SpaceId, ?WAITING_PHASE, TreeIds, ListingOpts) ->
       rpc:call(Node, atm_waiting_workflow_executions, list, [SpaceId, TreeIds, ListingOpts]);
   list_links(Node, SpaceId, ?ONGOING_PHASE, TreeIds, ListingOpts) ->
  
positive.code:     atm_workflow_execution:phase(),
      atm_workflow_executions_forest:tree_ids()
  ) ->
      atm_workflow_execution:listing().
  list_all_links(Node, SpaceId, Phase, TreeIds) ->
      list_links(Node, SpaceId, Phase, TreeIds, #{offset => 0}).
  
  
  %% @private
  
negative.code:     rpc:call(Node, atm_ended_workflow_executions, list, [SpaceId, TreeIds, ListingOpts]).
  
  
  %% @private
  -spec update_listing_opts(
      listing_method(),
      atm_workflow_executions_forest:listing_opts(),
      [{atm_workflow_execution:id(), atm_workflow_executions_forest:index()}]
  ) ->
      atm_workflow_executions_forest:listing_opts().
  update_listing_opts(offset, ListingOpts, ListedLinks) ->
      maps:update_with(offset, fun(Offset) -> Offset + length(ListedLinks) end, ListingOpts);
  update_listing_opts(start_index, ListingOpts, ListedLinks) ->
      maps:update(start_index, element(1, lists:last(ListedLinks)), ListingOpts#{offset => 1}).
  
  
  %===================================================================
  % SetUp and TearDown functions
  %===================================================================
  