/**
  * Sets the function initialization identifier.
  *
  * @param id the identifier to bind
  */
 public void setFunctionInitId(final long id) {
   put(FUNCTION_INIT_ID_NAME, id);
   // TODO: Note that the behaviour below is closely coupled to the implementation of
   // initialization identifiers in CompiledFunctionService
   final Instant instant = Instant.ofEpochMilli(id);
   put(FUNCTION_INIT_TIMESTAMP_NAME, VersionCorrection.of(instant, instant));
 }
  @Override
  public Instant fromNonNullValue(Timestamp value) {

    Instant instant = Instant.ofEpochMilli(value.getTime());
    instant = instant.with(ChronoField.NANO_OF_SECOND, value.getNanos());

    return instant;
  }
 protected ZonedDateTime convertJavaDate(Date d) {
   return ZonedDateTime.ofInstant(Instant.ofEpochMilli(d.getTime()), ZoneId.systemDefault());
 }