code: public DateMidnight withMillis(long newMillis) {
          Chronology chrono = getChronology();
          newMillis = checkInstant(newMillis, chrono);
          return (newMillis == getMillis() ? this : new DateMidnight(newMillis, chrono));
      }
docs: Returns a copy of this date with a different millisecond instant.
  The returned object will have a local time of midnight.
  <p>
  Only the millis will change, the chronology and time zone are kept.
  The returned object will be either be a new instance or <code>this</code>.
  
  @param newMillis  the new millis, from 1970-01-01T00:00:00Z
  @return a copy of this instant with different millis