'Get dictionary item, defaulting to another value if it does not exist.
Args:
key: Key of item to get.  Key is case insensitive, so "d[\'Key\']" is the
same as "d[\'key\']".
failobj: Value to return if key not in dictionary.'

def get(self, key, failobj=None):

    try:
        cased_key = self.caseless_keys[key.lower()]
    except KeyError:
        return failobj
    return self.data[cased_key]
