code: @Override
      public boolean isSupported(TemporalField field) {
          if (field == ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH ||
                  field == ChronoField.ALIGNED_DAY_OF_WEEK_IN_YEAR ||
                  field == ChronoField.ALIGNED_WEEK_OF_MONTH ||
                  field == ChronoField.ALIGNED_WEEK_OF_YEAR) {
              return false;
          }
          return super.isSupported(field);
      }
docs: Checks if the specified field is supported.
  <p>
  This checks if this date can be queried for the specified field.
  If false, then calling the {@link #range(TemporalField) range} and
  {@link #get(TemporalField) get} methods will throw an exception.
  <p>
  If the field is a {@link ChronoField} then the query is implemented here.
  The supported fields are:
  <ul>
  <li>{@code DAY_OF_WEEK}
  <li>{@code DAY_OF_MONTH}
  <li>{@code DAY_OF_YEAR}
  <li>{@code EPOCH_DAY}
  <li>{@code MONTH_OF_YEAR}
  <li>{@code PROLEPTIC_MONTH}
  <li>{@code YEAR_OF_ERA}
  <li>{@code YEAR}
  <li>{@code ERA}
  </ul>
  All other {@code ChronoField} instances will return false.
  <p>
  If the field is not a {@code ChronoField}, then the result of this method
  is obtained by invoking {@code TemporalField.isSupportedBy(TemporalAccessor)}
  passing {@code this} as the argument.
  Whether the field is supported is determined by the field.
  
  @param field  the field to check, null returns false
  @return true if the field is supported on this date, false if not