def __getitem__(self, key):
    if (key in self.values):
        return self.values[key]
    else:
        raise NotImplementedError()
def __getitem__(self, key):
    if (key in self.values):
        return self.values[key]
    else:
        raise NotImplementedError()