anchor.diff:  %% API Function Definitions
   %% ------------------------------------------------------------------
   
  -start_link() ->
  -    gen_server:start_link({local, ?SERVER}, ?MODULE, [], []).
  +start_link(Args) ->
  +    gen_server:start_link({local, ?SERVER}, ?MODULE, Args, []).
   
   -spec change_tasks_file(File :: string()) -> {ok, changed} | {ok, no_change_needed} | {error, any()}.
   change_tasks_file(File) ->
  
positive.code:     NewAcc = Fun(Chunks, Acc),
      with_chunks(Fun, disk_log:chunk(?MODULE, Cont), NewAcc).
  
  copy_tasks_to_ring(Chunks, Ring, {NodeNo, RingSize}) ->
      NewNodeNo = lists:foldl(fun(Chunk, NodeNo_) ->
              {NewNodeNo_, Node} = get_next_node(NodeNo_, RingSize, Ring),
              rpc:call(Node, replayer_worker, append_task, [Chunk]),
              NewNodeNo_
          end, NodeNo, Chunks),
      {NewNodeNo, RingSize}.
  
  get_next_node(NodeNo, RingSize, Ring) ->
      Node = lists:nth(NodeNo, Ring),
      {case NodeNo + 1 of
          V when V == RingSize -> 0;
          V -> V
      end, Node}.
  
negative.code:     Res = case disk_log:open([{name, ?MODULE}, {file, State#state.tasks_file}, {mode, read_only}]) of
          {error, _} = E -> E;
          _ ->
              copy_tasks_to_ring(Ring),
              ok
      end,
      {reply, Res, State};
  