'@param a: Property (A) to link.
@type a: L{Property}
@param b: Property (B) to link.
@type b: L{Property}'

def __init__(self, a, b):

    pA = Endpoint(self, a)
    pB = Endpoint(self, b)
    self.endpoints = (pA, pB)
    self.validate(a, b)
    a.links.append(pB)
    b.links.append(pA)
