fun <T : ContractState> findReference(clazz: Class<T>, predicate: Predicate<T>): T
Helper to simplify finding a single reference inputs ContractState matching a Predicate.
clazz
- The class type used for filtering via an Class.isInstance check.
clazz must be an extension of ContractState.
predicate
- A filtering function taking a state of type T and returning true if this is the desired item.
The class filtering is applied before the predicate.
IllegalArgumentException
- if no item, or multiple items are found matching the requirements.
Return
the single item matching the predicate.
inline fun <reified T : ContractState> findReference(crossinline predicate: (T) -> Boolean): T