code: public void set(TemporalField field, long newValue) {
          Objects.requireNonNull(field, "field");
          synchronized (instantHolder) {
              ZonedDateTime current = ZonedDateTime.ofInstant(instantHolder.get(), zone);
              ZonedDateTime result = current.with(field, newValue);
              instantHolder.set(result.toInstant());
          }
      }
docs: Alters the specified field of this clock.
  <p>
  Atomically updates this clock to the value of the following expression:
  <pre>
  ZonedDateTime.now(thisClock)
  .with(field, newValue)
  .toInstant()
  </pre>
  
  @param field the field to set, not null
  @param newValue the new value of the field
  @throws DateTimeException if the field cannot be set
  @throws UnsupportedTemporalTypeException if the field is not supported
  @throws ArithmeticException if numeric overflow occurs
  @see ZonedDateTime#with(TemporalField, long)