code: private long getFixedDateJan1(BaseCalendar.Date date, long fixedDate) {
          assert date.getNormalizedYear() == gregorianCutoverYear ||
              date.getNormalizedYear() == gregorianCutoverYearJulian;
          if (gregorianCutoverYear != gregorianCutoverYearJulian) {
              if (fixedDate >= gregorianCutoverDate) {
                  // Dates before the cutover date don't exist
                  // in the same (Gregorian) year. So, no
                  // January 1 exists in the year. Use the
                  // cutover date as the first day of the year.
                  return gregorianCutoverDate;
              }
          }
          // January 1 of the normalized year should exist.
          BaseCalendar juliancal = getJulianCalendarSystem();
          return juliancal.getFixedDate(date.getNormalizedYear(), BaseCalendar.JANUARY, 1, null);
      }
docs: Returns the fixed date of the first day of the year (usually
  January 1) before the specified date.
  
  @param date the date for which the first day of the year is
  calculated. The date has to be in the cut-over year (Gregorian
  or Julian).
  @param fixedDate the fixed date representation of the date