anchor.diff:  	    Pad > 0 ->
   	        [Value, <<0:Pad>>]
       end.
  -
  -<<<<<<< HEAD
  -unmarshal_message(Data) when is_binary(Data) ->
  -    lager:info("unmarshal_message 1 "),
  -    {Header, BinBody, Data1} = unmarshal_header(Data),
  -    lager:info("unmarshal_message 2"),
  -    Signature =
  -	    case dbus_message:find_field(?HEADER_SIGNATURE, Header) of
  -	        #dbus_variant{type=signature, value=Signature1} ->
  -		        Signature1;
  -	        undefined ->
  -		        <<"">>
  -	    end,
  -    Types = unmarshal_signature(Signature),
  -    {<<>>, Body, _Pos} = unmarshal_list(Types, BinBody),
  -    {#dbus_message{header=Header, body=Body}, Data1}.
  -
  -unmarshal_header(Bin) ->
  -    lager:info("unmarshal_header 1 "),
  -    {Data1, HeaderData, Pos} = unmarshal_list([byte, byte, byte, byte, uint32, uint32, {array, {struct, [byte, variant]}}], Bin),
  -    [$l, Type, Flags, ?DBUS_VERSION_MAJOR, Size, Serial, Fields] = HeaderData,
  -    Header = #dbus_header{type=Type,
  -			              flags=Flags,
  -			              serial=Serial,
  -			              fields=Fields},
  -    Pad = pad(8, Pos),
  -    <<0:Pad, Body:Size/binary, Data2/binary>> = Data1,
  -    {Header, Body, Data2}.
  -=======
  ->>>>>>> 6724b4b84878ed57521e1481daa05226d0d2b963
   
   
   marshal_list([], [], Pos, Res) ->
  
positive.code: unmarshal_list([Type|T], Data, Res, Pos) ->
      lager:info("unmarshal_list 4 "),
      {Value, Data1, Pos1} = unmarshal(Type, Data, Pos),
      unmarshal_list(T, Data1, [Res, Value], Pos1).
  
  
  
negative.code: unmarshal_type(<<$d>>) -> double;
  unmarshal_type(<<$s>>) -> string;
  unmarshal_type(<<$o>>) -> object_path;
  unmarshal_type(<<$g>>) -> signature;
  unmarshal_type(<<$r>>) -> struct;
  unmarshal_type(<<$v>>) -> variant;
  unmarshal_type(<<$e>>) -> dict_entry;
  unmarshal_type(<<$a>>) -> array;
  unmarshal_type(_C)      -> throw({error, {bad_type, _C}}).
  
  
  %unmarshal_struct_signature([$)|R], Res) ->
  %    {Res, R};
  