class BgpAdvertisementGroup implements Serializable {

  @Override
  public boolean equals(@Nullable Object obj) {
    if (this == obj) {
      return true;
    }
    if (!(obj instanceof BgpAdvertisementGroup)) {
      return false;
    }
    BgpAdvertisementGroup rhs = (BgpAdvertisementGroup) obj;
    return _asPath.equals(rhs._asPath)
        && _description.equals(rhs._description)
        && _extendedCommunities.equals(rhs._extendedCommunities)
        && _localPreference == rhs._localPreference
        && _med == rhs._med
        && _originator.equals(rhs._originator)
        && _originType == rhs._originType
        && _prefixes.equals(rhs._prefixes)
        && _rxPeer.equals(rhs._rxPeer)
        && _standardCommunities.equals(rhs._standardCommunities)
        && Objects.equals(_txAs, rhs._txAs)
        && _txPeer.equals(rhs._txPeer);
  }

  private  BgpAdvertisementGroup(
      AsPath asPath,
      String description,
      Set<ExtendedCommunity> extendedCommunities,
      long localPreference,
      long med,
      Ip originator,
      OriginType originType,
      Set<Prefix> prefixes,
      Ip rxPeer,
      Set<Long> standardCommunities,
      @Nullable Long txAs,
      Ip txPeer);

}