@Override
  public int hashCode() {
    final int prime = 31;
    int result = 1;

    result = prime * (int) (xid ^ (xid >>> 32));
    result = prime * result + ((flags == null) ? 0 : flags.hashCode());
    result = prime * result + ((features == null) ? 0 : features.hashCode());
    return result;
  }
  @Override
  public boolean equals(Object obj) {
    if (this == obj) return true;
    if (obj == null) return false;
    if (getClass() != obj.getClass()) return false;
    OFMeterFeaturesStatsReplyVer14 other = (OFMeterFeaturesStatsReplyVer14) obj;

    if (xid != other.xid) return false;
    if (flags == null) {
      if (other.flags != null) return false;
    } else if (!flags.equals(other.flags)) return false;
    if (features == null) {
      if (other.features != null) return false;
    } else if (!features.equals(other.features)) return false;
    return true;
  }