package Ġcom . property listing . flows Ċ Ċ import Ġco . parallel universe . fib ers . Suspend able Ċ import Ġcom . property listing . flows . utils . Custom Vault Service Ċ import Ġcom . property listing . flows . utils . Property Ċ import Ġnet . cord a . core . flows . Flow Logic Ċ import Ġnet . cord a . core . flows . Initi ating Flow Ċ import Ġnet . cord a . core . flows . Start able By RPC Ċ import Ġnet . cord a . core . identity . Party Ċ import Ġnet . cord a . core . transactions . Signed Transaction Ċ import Ġnet . cord a . core . utilities . Progress Tracker Ċ import Ġnet . cord a . core . utilities . unwrap Ċ Ċ object ĠRequest Property List Flow Ġ{ ĊĠĠĠ Ġ@ Initi ating Flow ĊĠĠĠ Ġ@ Start able By RPC ĊĠĠĠ Ġclass ĠInit iator ( val Ġowner : ĠParty ) Ġ: ĠFlow Logic < Signed Transaction ?> () Ġ{ ĊĠĠĠĠĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject ĠGENER ATING _ PROPERTY LIST _ REQUEST _ SESSION Ġ: ĠProgress Tracker . Step (" Generating Ġsession Ġto Ġrequest Ġan Ġowner Ġfor Ġproperty listing Ġlist .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject ĠREQUEST ING _ PROPERTY LIST Ġ: ĠProgress Tracker . Step (" Request ing Ġowner Ġfor Ġthe Ġproperty listing Ġlist .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfun Ġtracker () Ġ= ĠProgress Tracker ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGENER ATING _ PROPERTY LIST _ REQUEST _ SESSION , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠREQUEST ING _ PROPERTY LIST ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġprogress Tracker Ġ= Ġtracker () ĊĊĠĠĠĠĠĠĠ Ġ@ Suspend able ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcall () Ġ: ĠSigned Transaction ? Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Tracker . current Step Ġ= ĠGENER ATING _ PROPERTY LIST _ REQUEST _ SESSION ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsession Ġ= Ġinitiate Flow ( owner ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Tracker . current Step Ġ= ĠREQUEST ING _ PROPERTY LIST ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlist Ġ= Ġsession . receive < Mutable List < Property >> (). unwrap Ġ{ Ġit Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( list . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcustom Vault Service Ġ= Ġservice Hub . cord a Service ( Custom Vault Service . Service :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproperty List : ĠMutable List < Property > Ġ= Ġcustom Vault Service . remove Existing Properties ( owner . name . toString (), list ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( property List . isNotEmpty ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsub Flow ( Store Property List Flow . Init iator ( owner , property List )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }