package Ġcom . fib el att i . pin board Ċ Ċ import Ġkotlin . reflect . K Class Ċ Ċ /** Ċ Ġ* ĠReturns Ġa Ġlist Ġof Ġall ĠSe aled ĠSub classes Ġof Ġthe Ġreceiver , Ġincluding Ġtheir Ġown ĠSe aled ĠSub classes Ċ Ġ*/ Ċ val Ġ< T Ġ: ĠAny > ĠK Class < T >. all Se aled Sub classes : ĠList < K Class < out ĠT >> ĊĠĠĠ Ġget () Ġ= Ġsealed Sub classes . flatten () Ċ Ċ /** Ċ Ġ* ĠGiven Ġa Ġlist Ġof ĠSe aled ĠSub classes Ġwill Ġrecursively Ġcreate Ġa Ġflatten ed Ġlist Ġof Ġcontaining Ġthem Ġand Ċ Ġ* Ġtheir Ġchildren , Ġand Ġtheir Ġchildren , Ġand Ġtheir Ġchildren ... Ċ Ġ*/ Ċ fun Ġ< T Ġ: ĠAny > ĠList < K Class < out ĠT >> . flatten (): ĠList < K Class < out ĠT >> Ġ{ ĊĠĠĠ Ġreturn Ġflat Map Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( it . sealed Sub classes . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . sealed Sub classes . flatten () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ