code: def _get_object_map(self, prefix, name='Name', value='Value'):
          
          object_map = {}
          index = 1
          while True:
              # Loop through looking for keys representing object name
              name_key = '{0}.{1}.{2}'.format(prefix, index, name)
              obj_name = self.querystring.get(name_key)
              if not obj_name:
                  # Found all keys
                  break
  
              obj = {}
              value_key_prefix = '{0}.{1}.{2}.'.format(
                  prefix, index, value)
              for k, v in self.querystring.items():
                  if k.startswith(value_key_prefix):
                      _, value_key = k.split(value_key_prefix, 1)
                      obj[value_key] = v[0]
  
              object_map[obj_name[0]] = obj
  
              index += 1
  
          return object_map
docs: Given a query dict like
          {
              Prefix.1.Name: [u'event'],
              Prefix.1.Value.StringValue: [u'order_cancelled'],
              Prefix.1.Value.DataType: [u'String'],
              Prefix.2.Name: [u'store'],
              Prefix.2.Value.StringValue: [u'example_corp'],
              Prefix.2.Value.DataType [u'String'],
          }
  
          returns
          {
              'event': {
                  'DataType': 'String',
                  'StringValue': 'example_corp'
              },
              'store': {
                  'DataType': 'String',
                  'StringValue': 'order_cancelled'
              }
          }