@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
            return true;
        }
        if (!(obj instanceof TurmsNotification other)) {
            return super.equals(obj);
        }

        if (getTimestamp() != other.getTimestamp()) {
            return false;
        }
        if (!getCustomAttributesList().equals(other.getCustomAttributesList())) {
            return false;
        }
        if (hasRequestId() != other.hasRequestId()) {
            return false;
        }
        if (hasRequestId()) {
            if (getRequestId() != other.getRequestId()) {
                return false;
            }
        }
        if (hasCode() != other.hasCode()) {
            return false;
        }
        if (hasCode()) {
            if (getCode() != other.getCode()) {
                return false;
            }
        }
        if (hasReason() != other.hasReason()) {
            return false;
        }
        if (hasReason()) {
            if (!getReason().equals(other.getReason())) {
                return false;
            }
        }
        if (hasData() != other.hasData()) {
            return false;
        }
        if (hasData()) {
            if (!getData().equals(other.getData())) {
                return false;
            }
        }
        if (hasRequesterId() != other.hasRequesterId()) {
            return false;
        }
        if (hasRequesterId()) {
            if (getRequesterId() != other.getRequesterId()) {
                return false;
            }
        }
        if (hasCloseStatus() != other.hasCloseStatus()) {
            return false;
        }
        if (hasCloseStatus()) {
            if (getCloseStatus() != other.getCloseStatus()) {
                return false;
            }
        }
        if (hasRelayedRequest() != other.hasRelayedRequest()) {
            return false;
        }
        if (hasRelayedRequest()) {
            if (!getRelayedRequest().equals(other.getRelayedRequest())) {
                return false;
            }
        }
        return getUnknownFields().equals(other.getUnknownFields());
    }
<code>.im.turms.proto.TurmsRequest relayed_request = 12;</code>
turms-server-common/src/main/java/im/turms/server/common/access/client/dto/notification/TurmsNotification.java