question: returns a list which contains the best detail page for each type . concode_field_sep ArrayListMultimap<String,CmsDetailPageInfo> m_map concode_elem_sep Map<CmsUUID,CmsDetailPageInfo> m_infoById concode_elem_sep long serialVersionUID concode_field_sep void add concode_elem_sep int move concode_elem_sep List<CmsDetailPageInfo> getInfosForType concode_elem_sep List<CmsDetailPageInfo> toList concode_elem_sep Collection<CmsUUID> getAllIds concode_elem_sep Status getStatus concode_elem_sep int remove concode_elem_sep CmsDetailPageInfo getBestDetailPage concode_elem_sep boolean contains concode_elem_sep int size concode_elem_sep CmsDetailPageInfo get concode_elem_sep int bump concode_elem_sep CmsDetailPageTable copy concode_elem_sep boolean isDefaultDetailPage
target: List < CmsDetailPageInfo > function ( ) { List < CmsDetailPageInfo > loc0 = new ArrayList < CmsDetailPageInfo > ( ) ; for ( String loc1 : m_map . keySet ( ) ) { List < CmsDetailPageInfo > loc2 = m_map . get ( loc1 ) ; if ( ! loc2 . isEmpty ( ) ) { loc0 . add ( loc2 . get ( 0 ) ) ; } } return loc0 ; }