package Ġcom . d inar ap aran id . pri ma . utils . extensions Ċ Ċ import Ġarrow . core . Option Ċ import Ġarrow . core . Some Ċ import Ġarrow . core . orElse Ċ Ċ /** Ċ Ġ* ĠGets Ġvalue Ġfrom Ġ[ Option ] Ċ Ġ* Ġ@ return Ġvalue Ġif Ġit 's Ġ[ Some ] Ċ Ġ* Ġ@ throws ĠNullPointerException Ġif Ġit 's Ġ[ arrow . core . None ] Ċ Ġ*/ Ċ @ Throws ( NullPointerException :: class ) Ċ internal Ġfun Ġ< T > ĠOption < T >. unwrap (): ĠT Ġ= Ġor Null () !! Ċ Ċ /** Ċ Ġ* ĠGets Ġvalue Ġfrom Ġ[ Option ] Ġif Ġit 's Ġ[ Some ] Ċ Ġ* Ġor Ġdefault Ġvalue Ġif Ġit 's Ġ[ arrow . core . None ] Ċ Ġ* Ġ@ param Ġor Ġdefault Ġvalue Ċ Ġ* Ġ@ return Ġvalue Ġif Ġit 's Ġ[ Some ] Ċ Ġ* Ġor Ġdefault Ġvalue Ġif Ġit 's Ġ[ arrow . core . None ] Ċ Ġ*/ Ċ @ Throws ( NullPointerException :: class ) Ċ internal Ġfun Ġ< T > ĠOption < T >. unwrap Or ( or : ĠT ): ĠT Ġ= Ġor Else Ġ{ ĠSome ( or ) Ġ}. unwrap () Ċ Ċ /** Ċ Ġ* ĠSimilar Ġto Ġ[ unwrap Or ] Ġbut Ġtakes Ġfunction Ġinstead Ġof Ġvalue Ċ Ġ* Ġ@ param Ġgen Ġfunction Ġto Ġgenerate Ġnew Ġvalue Ċ Ġ*/ Ċ @ Throws ( NullPointerException :: class ) Ċ internal Ġinline Ġfun Ġ< T > ĠOption < T >. unwrap OrElse ( gen : Ġ() Ġ-> ĠT ): ĠT Ġ= Ġunwrap Or ( gen ())