* @return true if equal
   */
  @Override
  public boolean equals(Object otherRule) {

    if (otherRule == this) {
      return true;
    }
    if (otherRule instanceof ZoneOffsetTransitionRule) {
      ZoneOffsetTransitionRule other = (ZoneOffsetTransitionRule) otherRule;
      return this.month == other.month && this.dom == other.dom && this.dow == other.dow
          && this.timeDefinition == other.timeDefinition && this.time.equals(other.time)
          && this.timeEndOfDay == other.timeEndOfDay && this.standardOffset.equals(other.standardOffset)
          && this.offsetBefore.equals(other.offsetBefore) && this.offsetAfter.equals(other.offsetAfter);
    }
    return false;
  }