Почему мое решение не проходит валидацию, если результат выдачи совпадает с результатом, который можно получить при использовании метода withZoneSameInstant(); ?
static LocalDateTime changeZone(LocalDateTime fromDateTime, ZoneId fromZone, ZoneId toZone) {
    ZoneOffset zone = fromZone.getRules().getOffset(fromDateTime);
    long aLong = fromDateTime.toEpochSecond(zone);
    Instant instant = Instant.ofEpochSecond(aLong);
    LocalDateTime newLoc = LocalDateTime.ofInstant(instant, toZone);
    return newLoc;
}
а вот это решение валидатор принял:
ZonedDateTime ldt = fromDateTime.atZone(fromZone);
           return ldt.withZoneSameInstant(toZone).toLocalDateTime();
А вот результаты вывода в консоль: по первому решению: по второму, которое принял валидатор: