anchor.diff:      Attributes = maps:get(<<"attributes">>, DataJSON, #{}),
       #gs_resp_handshake{
           version = Version,
  -        session_id = null_to_undefined(SessionId),
  +        session_id = utils:null_to_undefined(SessionId),
           identity = case ProtocolVersion >= 4 of
               true -> aai:deserialize_subject(Identity);
               false -> deprecated_json_to_subject(Identity)
           end,
  -        attributes = null_to_undefined(Attributes)
  +        attributes = utils:null_to_undefined(Attributes)
       }.
   
   
   -spec decode_response_rpc(protocol_version(), json_map()) -> rpc_resp().
   decode_response_rpc(_, DataJSON) ->
       #gs_resp_rpc{
  -        result = null_to_undefined(DataJSON)
  +        result = utils:null_to_undefined(DataJSON)
       }.
   
   
  
positive.code: decode_push_graph(_, PayloadJSON) ->
      GRI = gri:deserialize(maps:get(<<"gri">>, PayloadJSON)),
      UpdateType = str_to_update_type(maps:get(<<"updateType">>, PayloadJSON)),
      Data = null_to_undefined(maps:get(<<"data">>, PayloadJSON, #{})),
      #gs_push_graph{
          gri = GRI,
          change_type = UpdateType,
          data = null_to_undefined(Data)
      }.
  
  
  
negative.code:         }}.
  
  
  %%%===================================================================
  %%% Internal functions
  %%%===================================================================
  