PROLEPTIC_MONTH.checkValidValue(prolepticMonth); updateResolveMap(fieldValues, MONTH_OF_YEAR, Jdk8Methods.floorMod(prolepticMonth, 12) + 1); updateResolveMap(fieldValues, YEAR, Jdk8Methods.floorDiv(prolepticMonth, 12)); updateResolveMap(fieldValues, YEAR, (year > 0 ? yoeLong: Jdk8Methods.safeSubtract(1, yoeLong))); } else { updateResolveMap(fieldValues, YEAR, (year == null || year > 0 ? yoeLong: Jdk8Methods.safeSubtract(1, yoeLong))); updateResolveMap(fieldValues, YEAR, yoeLong); } else if (era.longValue() == 0L) { updateResolveMap(fieldValues, YEAR, Jdk8Methods.safeSubtract(1, yoeLong)); } else { throw new DateTimeException("Invalid value for era: " + era);