package Ġfm . force . ui . util Ċ Ċ type alias ĠE scape Ġ= Ġ( String ) Ġ-> ĠString Ċ Ċ private Ġval Ġdefault Escape : ĠE scape Ġ= Ġ{ Ġit Ġ} Ċ Ċ fun ĠAny ?. material ize ( prefix : ĠString Ġ= Ġ"", Ġescape : ĠE scape Ġ= Ġdefault Escape ): ĠList < String > Ġ{ ĊĠĠĠ Ġval Ġresult Values Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠ Ġif Ġ( prefix Ġ!= ĠencodeURIComponent ( prefix )) Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Prefix Ġ$ prefix Ġmust Ġbe Ġuri - comp liant ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠCollection < *> Ġ-> Ġresult Values Ġ+= Ġthis . material ize ( prefix ) ĊĠĠĠĠĠĠĠ Ġis ĠMap < *, Ġ*> Ġ-> Ġresult Values Ġ+= Ġthis . material ize ( prefix ) ĊĠĠĠĠĠĠĠ Ġnull Ġ-> Ġresult Values . add ("$ prefix =") ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġresult Values . add ("$ prefix =${ escape ( toString ()) }") ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult Values Ċ } Ċ Ċ fun ĠCollection <* >. material ize ( prefix : ĠString Ġ= Ġ"", Ġescape : ĠE scape Ġ= Ġdefault Escape ): ĠList < String > Ġ{ ĊĠĠĠ Ġval Ġresult Values Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġif Ġ( isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġresult Values Ġ+= Ġnull . material ize ( prefix ) ĊĠĠĠ Ġ} ĊĠĠĠ ĠforEach Indexed Ġ{ Ġindex , Ġany Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġcomplete Prefix Ġ= ĠlistOf ( prefix , Ġ"$ index "). filter Ġ{ Ġit Ġ!= Ġ"" Ġ}. join ToString (".") ĊĠĠĠĠĠĠĠ Ġresult Values Ġ+= Ġany . material ize ( complete Prefix , Ġescape ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult Values Ċ } Ċ Ċ fun ĠMap < *, Ġ* >. material ize ( prefix : ĠString Ġ= Ġ"", Ġescape : ĠE scape Ġ= Ġdefault Escape ): ĠList < String > Ġ{ ĊĠĠĠ Ġval Ġresult Values Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġentries . forEach Ġ{ Ġ( m Key , Ġm Value ) Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ( m Key Ġ== Ġnull ) Ġthrow ĠIllegalStateException (" Keys Ġof Ġnested Ġobjects Ġmust Ġnot Ġbe Ġnull ; Ġprefix =$ prefix ") ĊĠĠĠĠĠĠĠ Ġif Ġ( m Key Ġ== Ġ"") Ġthrow ĠIllegalStateException (" Keys Ġof Ġnested Ġobjects Ġmust Ġnot Ġbe Ġempty ; Ġprefix =$ prefix ") ĊĊĠĠĠĠĠĠĠ Ġval Ġcomplete Prefix Ġ= ĠlistOf ( prefix , Ġm Key ). filter Ġ{ Ġit Ġ!= Ġ"" Ġ}. join ToString (".") ĊĠĠĠĠĠĠĠ Ġresult Values Ġ+= Ġm Value . material ize ( complete Prefix , Ġescape ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġresult Values Ċ } Ċ