'Get the base offset (the key we are using to index variables covering the given offset) of a specific offset.
:param int addr:
:return:
:rtype:  int or None'

def get_base_addr(self, addr):

    try:
        (base_addr, item) = self._storage.floor_item(addr)
    except KeyError:
        return None
    if item.includes(addr):
        return base_addr
    return None
