def __iadd__(self, other):
if isinstance(other, Family):<EOL><INDENT>families = [other]<EOL><DEDENT>elif isinstance(other, Party):<EOL><INDENT>families = other.families<EOL><DEDENT>else:<EOL><INDENT>raise NotImplementedError(<EOL>'<STR_LIT>')<EOL><DEDENT>for oth_fam in families:<EOL><INDENT>added = False<EOL>for fam in self.families:<EOL><INDENT>if fam.template == oth_fam.template:<EOL><INDENT>fam += oth_fam<EOL>added = True<EOL><DEDENT><DEDENT>if not added:<EOL><INDENT>self.families.append(oth_fam)<EOL><DEDENT><DEDENT>return self<EOL>
Method for in-place addition '+='. Uses the Party.__add__() method.

:type other: `Party`
:param other: Another party to merge with the current family.
:return: Works in place on self.

.. rubric:: Example
>>> party_a = Party(families=[Family(template=Template(name='a'),
...                                  detections=[])])
>>> party_b = Party(families=[Family(template=Template(name='b'),
...                                  detections=[])])
>>> party_a += party_b
>>> print(party_a)
Party of 2 Families.