code: public LocalDate estimateFromMarriage(final LocalDate localDate) {
          if (localDate != null) {
              return localDate;
          }
          final PersonNavigator navigator = new PersonNavigator(person);
          final List<Family> families = navigator.getFamiliesC();
          LocalDate date = null;
          for (final Family family : families) {
              date = processMarriageDate(date, family);
              date = childAdjustment(date);
              date = estimateFromFatherMarriage(date, family);
              date = estimateFromMotherMarriage(date, family);
              if (date != null) {
                  break;
              }
          }
          return date;
      }
docs: Try recursing through the ancestors to find a marriage date.
  
  @param localDate if not null we already have a better estimate
  @return an estimate based on some ancestor's marriage date