code: public static ZoneOffsetTransition of(LocalDateTime transition, ZoneOffset offsetBefore, ZoneOffset offsetAfter) {
          Jdk8Methods.requireNonNull(transition, "transition");
          Jdk8Methods.requireNonNull(offsetBefore, "offsetBefore");
          Jdk8Methods.requireNonNull(offsetAfter, "offsetAfter");
          if (offsetBefore.equals(offsetAfter)) {
              throw new IllegalArgumentException("Offsets must not be equal");
          }
          if (transition.getNano() != 0) {
              throw new IllegalArgumentException("Nano-of-second must be zero");
          }
          return new ZoneOffsetTransition(transition, offsetBefore, offsetAfter);
      }
docs: Obtains an instance defining a transition between two offsets.
  <p>
  Applications should normally obtain an instance from {@link ZoneRules}.
  This factory is only intended for use when creating {@link ZoneRules}.
  
  @param transition  the transition date-time at the transition, which never
  actually occurs, expressed local to the before offset, not null
  @param offsetBefore  the offset before the transition, not null
  @param offsetAfter  the offset at and after the transition, not null
  @return the transition, not null
  @throws IllegalArgumentException if {@code offsetBefore} and {@code offsetAfter}
  are equal, or {@code transition.getNano()} returns non-zero value