anchor.diff:  -spec connect(bus_id() | dbus_known_bus()) -> {ok, dbus_connection()} | {error, term()}.
   connect(#bus_id{}=BusId) ->
       case dbus_peer_connection:start_link(BusId) of
  -	{ok, {dbus_peer_connection, PConn}=Conn} ->
  -	    case dbus_peer_connection:auth(PConn) of
  -		{ok, undefined} ->
  -		    case dbus_proxy:start_link(Conn, ?DBUS_SERVICE, <<"/">>, ?DBUS_NODE) of
  -			{ok, DBus} ->
  -			    ConnId = hello(DBus),
  -			    ?debug("Hello connection id: ~p~n", [ConnId]),
  -			    dbus_peer_connection:set_controlling_process(PConn, DBus),
  -			    {ok, {?MODULE, DBus}};
  -			{error, Err} -> {error, Err}
  -		    end;
  -		{ok, ConnId} ->
  -		    case dbus_proxy:start_link(Conn, ?DBUS_SERVICE, <<"/">>, ?DBUS_NODE) of
  -			{ok, DBus} ->
  -			    ?debug("Acquired connection id: ~p~n", [ConnId]),	
  -			    dbus_peer_connection:set_controlling_process(PConn, DBus),
  -			    {ok, {?MODULE, DBus}};
  -			{error, Err} -> {error, Err}
  -		    end
  -	    end;
  -	{error, Err} -> {error, Err}
  +		{ok, {dbus_peer_connection, PConn}=Conn} ->
  +			case dbus_peer_connection:auth(PConn) of
  +				{ok, undefined} ->
  +					case dbus_proxy:start_link(Conn, ?DBUS_SERVICE, <<"/">>, ?DBUS_NODE) of
  +						{ok, DBus} ->
  +							ConnId = hello(DBus),
  +							?debug("Hello connection id: ~p~n", [ConnId]),
  +							dbus_peer_connection:set_controlling_process(PConn, DBus),
  +							{ok, {?MODULE, DBus}};
  +						{error, Err} -> {error, Err}
  +					end;
  +				{ok, ConnId} ->
  +					case dbus_proxy:start_link(Conn, ?DBUS_SERVICE, <<"/">>, ?DBUS_NODE) of
  +						{ok, DBus} ->
  +							?debug("Acquired connection id: ~p~n", [ConnId]),	
  +							dbus_peer_connection:set_controlling_process(PConn, DBus),
  +							{ok, {?MODULE, DBus}};
  +						{error, Err} -> {error, Err}
  +					end
  +			end;
  +		{error, Err} -> {error, Err}
       end;
   connect(BusName) when BusName =:= system;
  -		      BusName =:= session ->
  +					  BusName =:= session ->
       connect(get_bus_id(BusName)).
   
   close({?MODULE, Bus}) ->     dbus_proxy:stop(Bus);
  
positive.code: -include("dbus_introspectable.hrl").
  
  -export([get_bus_id/1,
  	 connect/1]).
  
  %% dbus_connection callbacks
  -export([close/1,
  	 call/2,
  	 cast/2]).
  
  -define(DEFAULT_BUS_SYSTEM, #bus_id{scheme=unix,options=[{path, "/var/run/dbus/system_bus_socket"}]}).
  -define(SESSION_ENV, "DBUS_SESSION_BUS_ADDRESS").
  
negative.code: 
  to_bus_id(Server) when is_list(Server) ->
      {Transport, [?TRANSPORT_DELIM | Params]} =
  		lists:splitwith(fun(A) -> A =/= ?TRANSPORT_DELIM end, Server),
      #bus_id{scheme=list_to_existing_atom(Transport),
  			options=parse_params(Params)}.
  
  parse_params(Params) when is_list(Params) ->
      parse_params(string:tokens(Params, [?PARAM_DELIM]), []).
  