def __and__(self, other: _BaseCondition):
    return self.__class__(mrns=(self.get_mrns() & other.get_mrns()), dimensions=(self.dimensions | other.dimensions), children=[self, other], operator=_BaseCondition.AND)
def __and__(self, other: _BaseCondition):
    return self.__class__(mrns=(self.get_mrns() & other.get_mrns()), dimensions=(self.dimensions | other.dimensions), children=[self, other], operator=_BaseCondition.AND)