'Return the first data value for this key;
raises KeyError if not found.
:param key: The key to be looked up.
:raise KeyError: if the key does not exist.'

def __getitem__(self, key):

    if (key in self):
        lst = dict.__getitem__(self, key)
        if (len(lst) > 0):
            return lst[0]
    raise exceptions.BadRequestKeyError(key)
