// ĠEXPECT ED _ RE ACH ABLE _ NODES : Ġ 1 7 5 0 Ċ // ĠK JS _ WITH _ FULL _ RUNTIME Ċ Ċ fun Ġabstract Collection ToArray () Ġ{ ĊĠĠĠ Ġclass ĠTest Collection < out ĠE >( val Ġdata : ĠCollection < E >) Ġ: ĠAbstract Collection < E >() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinv ocations Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġsize Ġget () Ġ= Ġdata . size ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġiterator () Ġ= Ġdata . iterator () ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġto Array (): ĠArray < Any ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations Ġ+= Ġ" toArray 1 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdata . to Typed Array () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpublic Ġoverride Ġfun Ġ< T > Ġto Array ( array : ĠArray < T >): ĠArray < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinv ocations Ġ+= Ġ" toArray 2 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsuper . toArray ( array ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġdata Ġ= ĠlistOf (" abc ", Ġ" def ") ĊĠĠĠ Ġval Ġcoll Ġ= ĠTest Collection ( data ) ĊĊĠĠĠ Ġval Ġarr 1 Ġ= Ġcoll . to Typed Array () ĊĠĠĠ ĠassertEquals ( data , Ġarr 1 . asList ()) ĊĠĠĠ ĠassertTrue (" toArray 1 " Ġin Ġcoll . inv ocations Ġ|| Ġ" toArray 2 " Ġin Ġcoll . inv ocations ) ĊĊĠĠĠ Ġval Ġarr 2 : ĠArray < String > Ġ= Ġcoll . toArray ( Array ( coll . size Ġ+ Ġ 1 ) Ġ{ Ġ"" Ġ}) ĊĠĠĠ ĠassertEquals ( data Ġ+ ĠlistOf ( null ), Ġarr 2 . asList ()) Ċ } Ċ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġabstract Collection ToArray () ĊĠĠĠ Ġreturn Ġ" OK " Ċ }