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; } }