code: public static MonthDay fromCalendarFields(Calendar calendar) {
          if (calendar == null) {
              throw new IllegalArgumentException("The calendar must not be null");
          }
          return new MonthDay(calendar.get(Calendar.MONTH) + 1, calendar.get(Calendar.DAY_OF_MONTH));
      }
docs: Constructs a MonthDay from a <code>java.util.Calendar</code>
  using exactly the same field values avoiding any time zone effects.
  <p>
  Each field is queried from the Calendar and assigned to the MonthDay.
  <p>
  This factory method ignores the type of the calendar and always
  creates a MonthDay with ISO chronology. It is expected that you
  will only pass in instances of <code>GregorianCalendar</code> however
  this is not validated.
  
  @param calendar  the Calendar to extract fields from
  @return the created MonthDay, never null
  @throws IllegalArgumentException if the calendar is null
  @throws IllegalArgumentException if the monthOfYear or dayOfMonth is invalid for the ISO chronology