class Group {

    @Override
    public boolean equals(Object another) {
        if (this != another) {
            if (another == null || another.getClass() != Group.class) {
                return false;
            }
            Group a = (Group) another;
            if (selfServe == null ? a.selfServe != null : !selfServe.equals(a.selfServe)) {
                return false;
            }
            if (reviewEnabled == null ? a.reviewEnabled != null : !reviewEnabled.equals(a.reviewEnabled)) {
                return false;
            }
            if (notifyRoles == null ? a.notifyRoles != null : !notifyRoles.equals(a.notifyRoles)) {
                return false;
            }
            if (userAuthorityFilter == null ? a.userAuthorityFilter != null : !userAuthorityFilter.equals(a.userAuthorityFilter)) {
                return false;
            }
            if (userAuthorityExpiration == null ? a.userAuthorityExpiration != null : !userAuthorityExpiration.equals(a.userAuthorityExpiration)) {
                return false;
            }
            if (name == null ? a.name != null : !name.equals(a.name)) {
                return false;
            }
            if (modified == null ? a.modified != null : !modified.equals(a.modified)) {
                return false;
            }
            if (groupMembers == null ? a.groupMembers != null : !groupMembers.equals(a.groupMembers)) {
                return false;
            }
            if (auditLog == null ? a.auditLog != null : !auditLog.equals(a.auditLog)) {
                return false;
            }
            if (auditEnabled == null ? a.auditEnabled != null : !auditEnabled.equals(a.auditEnabled)) {
                return false;
            }
            if (lastReviewedDate == null ? a.lastReviewedDate != null : !lastReviewedDate.equals(a.lastReviewedDate)) {
                return false;
            }
        }
        return true;
    }

}