package Ġio . frame d . framework . verifier Ċ Ċ import Ġio . frame d . framework . Model Tree Ċ import Ġio . frame d . model . bpmn . model . B pmn Element Ċ import Ġio . frame d . model . b ros . model . B ros Element Ċ import Ġkotlin . reflect . K Class Ċ Ċ interface ĠB pmn Verifier Ġ: ĠVer ifier Ġ{ ĊĊĠĠĠ Ġval Ġfilter : ĠSet < K Class < out ĠB pmn Element >> ĊĊĠĠĠ Ġoverride Ġfun Ġfilter B pmn ( bpmn : ĠModel Tree < B pmn Element >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfilter . isEmpty () Ġ|| Ġb pmn . type Ġin Ġfilter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfilter B ros ( b ros : ĠModel Tree < B ros Element >): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġverify B ros ( element : ĠModel Tree < B ros Element >): ĠResult ? Ġ{ ĊĠĠĠĠĠĠĠ Ġthrow ĠUnsupportedOperationException (" Cannot Ġverify Ġb ros Ġelements Ġin Ġ$ name : B pmn Verifier !") ĊĠĠĠ Ġ} Ċ }