def __getattr__(self, attrname):
    if (attrname not in EventStructuresFactory.known()):
        return super().__getattribute__(attrname)
    with self.structures_convert_lock:
        try:
            return self.structures[attrname]
        except KeyError:
            pass
        structure = EventStructuresFactory.convert(attrname, self.structures)
        if (structure is NotImplemented):
            return None
        self.structures[attrname] = structure
        return structure
def __getattr__(self, attrname):
    if (attrname not in EventStructuresFactory.known()):
        return super().__getattribute__(attrname)
    with self.structures_convert_lock:
        try:
            return self.structures[attrname]
        except KeyError:
            pass
        structure = EventStructuresFactory.convert(attrname, self.structures)
        if (structure is NotImplemented):
            return None
        self.structures[attrname] = structure
        return structure