package Ġcom . friend o ye . recycler x ray . sample . e po xy Ċ Ċ import Ġcom . air bnb . e po xy . Typed E po xy Controller Ċ import Ġcom . friend o ye . recycler x ray . sample . shared . ItemType Ċ Ċ class ĠE po xy Controller Ġ: ĠTyped E po xy Controller < List < ItemType >>() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild Models ( items : ĠList < ItemType >) Ġ{ ĊĠĠĠĠĠĠĠ Ġitems . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠItem Type . Small Ġ-> Ġsmall Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber ( it . number ). id ( it . number ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. span Size Override Ġ{ Ġ_, Ġ_, Ġ_ Ġ-> Ġ 1 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠItem Type . Large Ġ-> Ġlarge Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstring ( it . string ). id ( it . string ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. span Size Override Ġ{ Ġ_, Ġ_, Ġ_ Ġ-> Ġ 2 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠItem Type . Wide st Ġ-> Ġwide st View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid ( it . toString ()). span Size Override Ġ{ Ġ_, Ġ_, Ġ_ Ġ-> Ġ 3 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠItem Type . Empty Ġ-> Ġempty View Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid ( it . toString ()). span Size Override Ġ{ Ġ_, Ġ_, Ġ_ Ġ-> Ġ 3 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ