question: used to deduplicate time and stop sequence arrays . the same times may occur in many trips . concode_field_sep Map<BitSet,BitSet> canonicalBitSets concode_elem_sep Map<IntArray,IntArray> canonicalIntArrays concode_elem_sep String[] array concode_elem_sep Map<String,String> canonicalStrings concode_elem_sep long serialVersionUID concode_elem_sep Map<StringArray,StringArray> canonicalStringArrays concode_field_sep String deduplicateString concode_elem_sep BitSet deduplicateBitSet concode_elem_sep int hashCode concode_elem_sep int hashCode concode_elem_sep boolean equals concode_elem_sep boolean equals concode_elem_sep void reset concode_elem_sep String[] deduplicateStringArray
target: int [ ] function ( int [ ] arg0 ) { if ( arg0 == null ) return null ; IntArray loc0 = new IntArray ( arg0 ) ; IntArray loc1 = canonicalIntArrays . get ( loc0 ) ; if ( loc1 == null ) { loc1 = loc0 ; canonicalIntArrays . put ( loc1 , loc1 ) ; } return loc1 . array ; }