anchor.diff:          , {"map_custom_default"
              , ?_assertEqual(test, ?MODULE:get(<<"sme">>,?TEST_MAP,test))}
           , {"json_custom_default"
  -           , ?_assertEqual(test, ?MODULE:get(<<"sme">>,?TEST_JSON,test))}]}.
  +           , ?_assertEqual(test, ?MODULE:get(<<"sme">>,?TEST_JSON,test))}
  +        , {"list_prop_list"
  +           , ?_assertEqual([<<"Doe">>,<<"Jabe">>], ?MODULE:get(<<"surname", ?TEST_LIST_PROP))}]}.
   
   keys_test_() ->
       Keys = [<<"surname">>,<<"name">>,<<"foo">>
  
positive.code: -define(TEST_PROP, [{<<"surname">>,<<"Doe">>},{<<"name">>,<<"John">>},
                      {<<"foo">>,<<"bar">>},{<<"earthling">>,true},
                      {<<"age">>,981},{<<"empty">>,null}]).
  -define(TEST_JSON_LIST, <<"[{\"surname\":\"Doe\"},{\"surname\":\"Jane\"},"
                            "{\"surname\":\"DoeDoe\"}]">>).
  -define(TEST_LACON, <<"[[\"50\",\"LACON\",\"29\"],[\"95\",\"LACON\",\"08\""
  
negative.code:     end;
  get(Key,DataObject,Default) ->
      ?MODULE:get(Key,decode(DataObject), Default).
  
  -spec get_deep(data_object(),key(),Default, list()) -> list() | Default when Default :: term().
  get_deep([], _, _, []) -> undefined;
  get_deep([], _, _, Acc) -> Acc;
  get_deep([Obj | Rest],Key,Default,Acc) when is_list(Obj) ->
      case proplists:get_value(Key,Obj,Default) of
          Default -> get_deep(Rest,Key,Default,Acc);
          Value -> get_deep(Rest,Key,Default,Acc ++ [Value])
      end;
  get_deep(Obj,Key,Default,_) ->
      proplists:get_value(Key,Obj,Default).
  
  %% @doc Add a value to a IMEM Json data object
  %% Should Key already exist, old value will be replaced
  