package Ġnet . just m achinery . f utility . collections Ċ Ċ import Ġjava . util . ArrayList Ċ Ċ public Ġinline Ġfun Ġ< T , ĠR > ĠIterable < T >. map Mutable ( transform : Ġ( T ) Ġ-> ĠR ): ĠMutable List < R > Ġ{ ĊĠĠĠ Ġreturn Ġmap To ( ArrayList ( collection Size OrDefault 2 ( 1 0 )), Ġtransform ) Ċ } Ċ // Effect ively Ġcopied Ġfrom ĠKotlin Ġlibrary Ġsource Ġfor Ġour Ġinternal Ġuse Ċ @ Published Api Ċ internal Ġfun Ġ< T > ĠIterable < T >. collection Size OrDefault 2 ( default : ĠInt ): ĠInt Ġ= Ġif Ġ( this Ġis ĠCollection <* >) Ġthis . size Ġelse Ġdefault Ċ Ċ /** Ċ Ġ* ĠReturns Ġreceiver Ġsplit Ġinto Ġchunks Ġof Ġless Ġthan Ġor Ġequal Ġto Ġdesired Weight Ġ( or Ġat Ġleast Ġone Ġitem ). Ċ Ġ*/ Ċ public Ġfun Ġ< T > ĠIterable < T >. chunk edBy ( desired Weight Ġ: ĠLong , Ġwe igh er Ġ: Ġ( T )-> Long ): ĠSequence < List < T >> Ġ= Ġsequence < List < T >> Ġ{ ĊĠĠĠ Ġvar Ġcurrent Ġ= Ġmutable ListOf < T >() ĊĠĠĠ Ġvar Ġcurrent Weight Ġ= Ġ 0 L ĊĠĠĠ Ġfor ( i Ġin Ġthis @ chunk edBy ){ ĊĠĠĠĠĠĠĠ Ġval Ġweight Ġ= Ġwe igh er ( i ) ĊĠĠĠĠĠĠĠ Ġif ( current Weight Ġ== Ġ 0 L Ġ|| Ġcurrent Weight Ġ+ Ġweight Ġ<= Ġdesired Weight ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent . add ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Weight Ġ+= Ġweight ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġyield ( current ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Ġ= Ġmutable ListOf ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Weight Ġ= Ġweight ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġif ( current . isNotEmpty ()){ ĊĠĠĠĠĠĠĠ Ġyield ( current ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠPre vents ĠInt ellij Ġfrom Ġsuggesting Ġtransformation Ġto Ġa Ġsequence . Ċ Ġ*/ Ċ public Ġinline Ġfun Ġ< T , ĠR > ĠIterable < T >. map With Side Effects ( transform : Ġ( T ) Ġ-> ĠR ): ĠList < R > Ġ= Ġthis . map ( transform ) Ċ Ċ public Ġinline Ġfun Ġ< T > ĠIterable < T >. sum By Long ( selector : Ġ( T ) Ġ-> ĠLong ): ĠLong Ġ{ ĊĠĠĠ Ġvar Ġsum Ġ= Ġ 0 L ĊĠĠĠ Ġfor Ġ( element Ġin Ġthis ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsum Ġ+= Ġselector ( element ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsum Ċ } Ċ Ċ public Ġfun Ġ< T > ĠIterable < T >. head Tail () Ġ: ĠPair < T , ĠList < T >> Ġ= Ġfirst () Ġto Ġdrop ( 1 )