package Ġcom . intellij . gr az ie . utils Ċ Ċ import Ġcom . intellij . gr az ie . Gr az ie Config Ċ import Ġkotlin . properties . ReadWrite Property Ċ import Ġkotlin . reflect . K Property Ċ Ċ internal Ġclass ĠLazy Gr az ie Config < R , ĠT >( val Ġinit : Ġ( Gr az ie Config . State ) Ġ-> ĠUnit ) Ġ: ĠRead Write Property < R , ĠT > Ġ{ ĊĠ Ġprivate Ġvar Ġvalue : ĠT ? Ġ= Ġnull ĊĊĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠR , Ġproperty : ĠK Property < *> ): ĠT Ġ{ ĊĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġinit ( Gr az ie Config . get ()) ĊĠĠĠ Ġreturn Ġvalue !! ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠsetValue ( this Ref : ĠR , Ġproperty : ĠK Property <* >, Ġvalue : ĠT ) Ġ{ ĊĠĠĠ Ġthis . value Ġ= Ġvalue ĊĠ Ġ} Ċ } Ċ Ċ internal Ġfun Ġ< R , ĠT > Ġlazy Config ( init : Ġ( Gr az ie Config . State ) Ġ-> ĠUnit ) Ġ= ĠLazy Gr az ie Config < R , ĠT >( init )