code: @Override
      public Temporal adjustInto(Temporal temporal) {
          if (Chronology.from(temporal).equals(IsoChronology.INSTANCE) == false) {
              throw new DateTimeException("Adjustment only supported on ISO date-time");
          }
          return temporal.with(PROLEPTIC_MONTH, getProlepticMonth());
      }
docs: Adjusts the specified temporal object to have this year-month.
  <p>
  This returns a temporal object of the same observable type as the input
  with the year and month changed to be the same as this.
  <p>
  The adjustment is equivalent to using {@link Temporal#with(TemporalField, long)}
  passing {@link ChronoField#PROLEPTIC_MONTH} as the field.
  If the specified temporal object does not use the ISO calendar system then
  a {@code DateTimeException} is thrown.
  <p>
  In most cases, it is clearer to reverse the calling pattern by using
  {@link Temporal#with(TemporalAdjuster)}:
  <pre>
  // these two lines are equivalent, but the second approach is recommended
  temporal = thisYearMonth.adjustInto(temporal);
  temporal = temporal.with(thisYearMonth);
  </pre>
  <p>
  This instance is immutable and unaffected by this method call.
  
  @param temporal  the target object to be adjusted, not null
  @return the adjusted object, not null
  @throws DateTimeException if unable to make the adjustment
  @throws ArithmeticException if numeric overflow occurs