private Month create(final LocalDate year, final LocalDate localMonth) {

    log.debug("Entering with {}, {}", year, localMonth);

    Month month = new Month();

    month.setMonth(localMonth.getMonth());

    for (int i = 0; i < localMonth.getMonth().length(year.isLeapYear()); i++)
      month.getDays().add(create(localMonth.plusDays(i)));

    createWeeks(month);

    return month;
  }
  private void createWeeks(final Month month) {

    log.debug("Entering with {}", month);

    month.setWeeks(createWeeks(padMonthEnd(padMonthStart(month.getDays()))));
  }