code: @Override
      public boolean isSupported(TemporalField field) {
          if (field instanceof ChronoField) {
              return field == INSTANT_SECONDS || field == NANO_OF_SECOND || field == MICRO_OF_SECOND || field == MILLI_OF_SECOND;
          }
          return field != null && field.isSupportedBy(this);
      }
docs: Checks if the specified field is supported.
  <p>
  This checks if this instant can be queried for the specified field.
  If false, then calling the {@link #range(TemporalField) range},
  {@link #get(TemporalField) get} and {@link #with(TemporalField, long)}
  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 NANO_OF_SECOND}
  <li>{@code MICRO_OF_SECOND}
  <li>{@code MILLI_OF_SECOND}
  <li>{@code INSTANT_SECONDS}
  </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 instant, false if not