overrides the java.lang.object.hashcode method . the following steps came from effective java programming language guide by joshua bloch , chapter 3 concode_field_sep long serialVersionUID concode_elem_sep List<Group> m_groups concode_elem_sep Group[] EMPTY_GROUP_ARRAY concode_field_sep void setGroupCollection concode_elem_sep int getGroupCount concode_elem_sep List<Group> getGroupCollection concode_elem_sep boolean isValid concode_elem_sep Iterator<Group> iterateGroup concode_elem_sep void removeAllGroup concode_elem_sep Group removeGroupAt concode_elem_sep void setGroup concode_elem_sep void setGroup concode_elem_sep void setGroup concode_elem_sep Groups unmarshal concode_elem_sep Enumeration<Group> enumerateGroup concode_elem_sep boolean removeGroup concode_elem_sep boolean equals concode_elem_sep Group getGroup concode_elem_sep Group[] getGroup concode_elem_sep void marshal concode_elem_sep void marshal concode_elem_sep void addGroup concode_elem_sep void addGroup concode_elem_sep void validate
int function ( ) { int loc0 = 17 ; if ( m_groups != null ) { loc0 = 37 * loc0 + m_groups . hashCode ( ) ; } return loc0 ; }