anchor.diff:  %%
   %% ClientPid /= none
   %%
  -guarded_start2(Branch, ServerHandler, ClientPid, Request, DstListIn, Timeout, ApproxMsgSize) 
  +guarded_start2(Branch, ServerHandler, ClientPid, Request, DstListIn, Timeout, ApproxMsgSize)
     when is_record(Request, request), ClientPid /= none ->
       %% A client pid was supplied to us, go to work
       final_start(Branch, ServerHandler, ClientPid, Request, DstListIn, Timeout, ApproxMsgSize);
  
positive.code: %%                           with the server transaction
  %%           Request       = request record(), original request
  %%           Dst           = list() of sipdst() record |
  %%                           
  %% Description: Try to be flexible. If we are provided with a URI
  %%              as DstList, we resolve it into a list of sipdst
  %%              records. If we are given a client transaction handle,
  %%              we start out with that one. Otherwise we start a
  %%              client transaction and then enter loop/1.
  %% Returns: Does not matter
  %%--------------------------------------------------------------------
  start(ServerHandler, ClientPid, Request, Dst, Timeout) when is_record(Request, request) ->
      case catch guarded_start(ServerHandler, ClientPid, Request, Dst, Timeout) of
  
negative.code: 	    BranchBase
      end.
  
  %%--------------------------------------------------------------------
  %% Function: get_next_target_branch(In)
  %%           In = string()
  %% Descrip.: Given the current branch as input, return the next one
  %%           to use.
  %% Returns: NewBranch = string()
  %%--------------------------------------------------------------------
  get_next_target_branch(In) ->
      case string:rchr(In, $.) of
  