public void layoutDown() {
   float off = offset;
   for (FamilyMember c : children().collect(Collectors.toList())) {
     c.offset = off;
     c.layoutDown();
     off += c.getWidthDown();
   }
   if (spouse == null) {
     x = offset + (getWidthDown() - 1) / 2;
   } else {
     x = offset - 0.5f + (getWidthDown() - 1) / 2;
     spouse.x = offset + 0.5f + (getWidthDown() - 1) / 2;
   }
 }