anchor.diff:  do_tree_forward(Node, Message, Connections, Options) ->
       lager:debug("Attempting to forward message from ~p to ~p.", [node(), Node]),
   
  -    %% Forward down our out-links.
  -    OutLinks = try retrieve_outlinks() of
  -        Value ->
  -            Value
  -    catch
  -        _:_ ->
  -            lager:error("Outlinks retrieval failed!"),
  -            []
  -    end,
  -
  -    case length(OutLinks) of
  -        0 ->
  -            lager:error("No outlinks.");
  -        _ ->
  -            ok
  +    %% Preempt with user-supplied outlinks.
  +    UserOutLinks = proplists:get_value(out_links, Options, undefined),
  +
  +    OutLinks = case UserOutLinks of
  +        undefined ->
  +            try retrieve_outlinks() of
  +                Value ->
  +                    Value
  +            catch
  +                _:_ ->
  +                    lager:error("Outlinks retrieval failed!"),
  +                    []
  +            end;
  +        OL ->
  +            OL
       end,
   
       %% Send messages, but don't attempt to forward again, if we aren't connected.
  
positive.code:     end,
      {noreply, State};
  
  handle_message({relay_message, Node, Message}, #state{connections=Connections}=State) ->
      lager:debug("Node ~p received tree relay to ~p", [node(), Node]),
  
      %% Attempt to deliver, or recurse and forward on through a relay.
      ok = do_send_message(Node, Message, Connections, [{transitive, true}]),
  
      {noreply, State};
  handle_message({forward_message, ServerRef, Message}, State) ->
  
negative.code:     4.
  
  %% @private
  schedule_tree_refresh() ->
      Period = partisan_config:get(tree_refresh, 1000),
      erlang:send_after(Period, ?MODULE, tree_refresh).
  
  %% @private
  schedule_passive_view_maintenance() ->
      Period = partisan_config:get(passive_view_shuffle_period,
                                   ?DEFAULT_PASSIVE_VIEW_MAINTENANCE_INTERVAL),
  