anchor.diff:                  _      ->
                       log:log(warn, "[ Node ~w ] no further nodes to contact, "
                                   "trying to get new nodes...", [self()]),
  -                    get_known_nodes(),
  +                    get_known_nodes(get_join_uuid(JoinState)),
                       set_phase(phase2, JoinState)
               end;
           [{_, Node} = Conn | _] ->
  
positive.code: % !first node
  % 2. Find known hosts
  % no matter which phase, if there are no contact nodes (yet), try to get some
  process_join_state({join, known_hosts_timeout} = _Msg,
                     {join, JoinState, _QueuedMessages} = State) ->
      ?TRACE1(_Msg, {join, JoinState}),
      case get_connections(JoinState) of
          [] -> get_known_nodes();
          [_|_] -> ok
      end,
      State;
  
  %% userdevguide-begin dht_node_join:join_other_p2
  
negative.code:     NewConn = new_connection(Conn),
      LbPsv = get_lb_psv(JoinState),
      LbPsv:get_number_of_samples(NewConn),
      msg_delay:send_local(
        get_number_of_samples_timeout() div 1000, self(),
        {join, get_number_of_samples_timeout, NewConn, get_join_uuid(JoinState)}),
      JoinState1 = update_connection(Conn, NewConn, JoinState),
      set_phase(phase2b, JoinState1).
  
  