public void accept(Visitor visitor) {
      if (visitor.visit(this)) {
         for (Name name : getNames()) {
            name.accept(visitor);
         }
         for (ParentFamilyRef parentFamilyRef : getParentFamilyRefs()) {
            parentFamilyRef.accept(visitor);
         }
         for (SpouseFamilyRef spouseFamilyRef : getSpouseFamilyRefs()) {
            spouseFamilyRef.accept(visitor);
         }
         for (Association association : getAssociations()) {
            association.accept(visitor);
         }
         if (addr != null) {
            addr.accept(visitor);
         }
         super.visitContainedObjects(visitor);
         visitor.endVisit(this);
      }
   }