anchor.diff:      end.
   
   %% @private
  -write_state_to_disk(State) ->
  +write_state_to_disk(Epoch) ->
       case data_root() of
           undefined ->
               ok;
           Dir ->
               File = filename:join(Dir, "cluster_state"),
               ok = filelib:ensure_dir(File),
  -            ok = file:write_file(File, term_to_binary(State))
  +            ok = file:write_file(File, term_to_binary(Epoch))
       end.
   
   %% @private
  
positive.code:                         true ->
                              lager:debug("FORWARD_JOIN: No node for forward, adding ~p to active view",
                                        [Peer]),
                              %% Add to our active view.
                              State3 = add_to_active_view(Peer, PeerTag, State2),
  
                              %% Establish connections.
                              Connections3 = partisan_util:maybe_connect(Peer, State3#state.connections),
  
                              LastDisconnectId = get_current_id(Peer, RecvMessageMap0),
                              %% Send neighbor message to origin, that will
                              %% update it's view.
                              do_send_message(
                                  Peer,
                                  {neighbor, Myself0, Tag0, LastDisconnectId, Peer},
                                  Connections3),
  
                              lager:debug("Node ~p active view: ~p",
                                         [Myself0, members(State3#state.active)]),
  
                              State3#state{connections=Connections3};
                          false ->
                              lager:debug("Peer node ~p will not be added to the active view",
                                         [Peer]),
  
negative.code:             NotInActiveView0 = not sets:is_element(Peer, Active0),
              case IsAddable0 andalso NotInActiveView0 of
                  true ->
                      %% Establish connections.
                      Connections1 = partisan_util:maybe_connect(Peer, Connections0),
  
                      case partisan_peer_service_connections:find(Peer, Connections1) of
                          {ok, _Entries} ->
                              %% Add to our active view.
                              State1 = add_to_active_view(Peer, PeerTag, State0#state{connections = Connections1}),
  
                              LastDisconnectId = get_current_id(Peer, RecvMessageMap0),
                              %% Send neighbor message to origin, that will update it's view.
                              do_send_message(Peer,
                                              {neighbor, Myself0, Tag0, LastDisconnectId, Peer},
                                              State1#state.connections),
  
                              lager:debug("Node ~p active view: ~p",
                                          [Myself0, members(State1#state.active)]),
  
                              State1;
                          {error, not_found} ->
                              State0
                      end;
                  false ->
                      lager:debug("Peer node ~p will not be added to the active view",
                                 [Peer]),
  