code: public static UtcInstant ofModifiedJulianDay(long mjDay, long nanoOfDay) {
          UtcRules.system().validateModifiedJulianDay(mjDay, nanoOfDay);
          return new UtcInstant(mjDay, nanoOfDay);
      }
docs: Obtains an instance of {@code UtcInstant} from a Modified Julian Day with
  a nanosecond fraction of day.
  <p>
  Modified Julian Day is a simple incrementing count of days where day 0 is 1858-11-17.
  Nanosecond-of-day is a simple count of nanoseconds from the start of the day
  including any additional leap-second.
  This method validates the nanosecond-of-day value against the Modified Julian Day.
  <p>
  The nanosecond-of-day value has a valid range from {@code 0} to
  {@code 86,400,000,000,000 - 1} on most days, and a larger or smaller range
  on leap-second days.
  <p>
  The nanosecond value must be positive even for negative values of Modified
  Julian Day. One nanosecond before Modified Julian Day zero will be
  {@code -1} days and the maximum nanosecond value.
  
  @param mjDay  the date as a Modified Julian Day (number of days from the epoch of 1858-11-17)
  @param nanoOfDay  the nanoseconds within the day, including leap seconds
  @return the UTC instant, not null
  @throws IllegalArgumentException if nanoOfDay is out of range