Visit a Husband. We track this and, if set, the Person who is the
father.

@see GedObjectVisitor#visit(Husband)
979417
@Override
    public void visit(final Husband husband) {
        this.husbandFound = husband;
        if (husband.isSet()) {
            father = husband.getFather();
            spouses.add(father);
        }
    }
32753
public function touchIfTouching()
    {
        if ($this->touchingParent()) $this->getParent()->touch();

        if ($this->getParent()->touches($this->relationName)) $this->touch();
    }
200777
@Override
    public void visit(NodeVisitor v) {
        if (v.visit(this) && label != null) {
            label.visit(v);
        }
    }
988820
public function spouse(Individual $person, $access_level = null): ?Individual
    {
        if ($person === $this->wife) {
            return $this->husband($access_level);
        }

        return $this->wife($access_level);
    }
1325827
def visit_file(self, item, parent):
        
        if self.is_large_file(item):
            self.large_items.append((item, parent))
        else:
            self.small_item_task_builder.visit_file(item, parent)
950457
def visit_if(self, node, parent):
        """"""
        newnode = nodes.If(node.lineno, node.col_offset, parent)
        newnode.postinit(
            self.visit(node.test, newnode),
            [self.visit(child, newnode) for child in node.body],
            [self.visit(child, newnode) for child in node.orelse],
        )
        return newnode
438706
@Override
    public void visit(final Date date) {
        dateString = date.getDate();
        yearString = date.getYear();
        sortDateString = date.getSortDate();
        final GetTimeVisitor timeVisitor = new GetTimeVisitor();
        for (final GedObject gob : date.getAttributes()) {
            gob.accept(timeVisitor);
            if (!timeVisitor.getTimeString().isEmpty()) {
                dateString += " " + timeVisitor.getTimeString();
                break;
            }
        }
    }
228729
public Person getSpouse(final GedObject person) {
        final List<Person> spouses = visitor.getSpouses();
        if (person != null && !spouses.contains(person)) {
            return new Person();
        }
        for (final Person spouse : spouses) {
            if (!spouse.equals(person)) {
                return spouse;
            }
        }
        return new Person();
    }
1247260
public function visits()
    {
        if ($this->keys->id) {
            $this->redis->zrem($this->keys->visits, $this->keys->id);
            $this->redis->del($this->keys->visits . "_countries:{$this->keys->id}");
            $this->redis->del($this->keys->visits . "_referers:{$this->keys->id}");

            foreach ($this->periods as $period => $days) {
                $this->redis->zrem($this->keys->period($period), $this->keys->id);
            }

            $this->ips();
        } else {
            $this->redis->del($this->keys->visits);
            $this->redis->del($this->keys->visits . '_total');
        }

    }
55956
protected final Person getMother(final Family family) {
        final FamilyNavigator navigator = new FamilyNavigator(family);
        return navigator.getMother();
    }
128092
@Override
    public void visit(NodeVisitor v) {
        if (v.visit(this)) {
            left.visit(v);
            right.visit(v);
        }
    }
866404
@Override
    public void visit(final Person person) {
        for (final GedObject gob : person.getAttributes()) {
            gob.accept(this);
        }
        final PersonNavigator navigator = new PersonNavigator(person);
        for (final Family family : navigator.getFamilies()) {
            family.accept(this);
        }
    }
45363
public final void visit(final Visitor visitor)
	{
		final Visit visit = new Visit();
		try
		{
			visit(visitor, visit);
		}
		catch (final StopVisitationException ignored)
		{
		}
	}
1124146
@Override
    public void visit(NodeVisitor v) {
        if (v.visit(this)) {
            variables.visit(v);
            if (body != null) {
                body.visit(v);
            }
        }
    }
386909
public Person getFather() {
        if (familyCNavigators == null || familyCNavigators.isEmpty()) {
            return new Person();
        }
        return familyCNavigators.get(0).getFather();
    }
293481
function visitor(parent) {
    var index = -1
    var children = parent && parent.children

    if (!children) {
      throw new Error('Missing children in `parent` for `visitor`')
    }

    while (++index in children) {
      callback(children[index], index, parent)
    }
  }
1310987
@Override
    public void visit(NodeVisitor v) {
        if (v.visit(this)) {
            for (XmlFragment frag : fragments) {
                frag.visit(v);
            }
        }
    }