@Override
  public ZoneOffset getStandardOffset(Instant instant) {

    long epochSec = instant.getEpochSecond();
    int index = Arrays.binarySearch(this.standardTransitions, epochSec);
    if (index < 0) {
      // switch negative insert position to start of matched range
      index = -index - 2;
    }
    return this.standardOffsets[index + 1];
  }