Using KEYED BY to make sure all members of a group are of the same type
One other use for the KEYED BY clause is that it enables you to build a list of things that are all related. For example, all the Use Case Steps referred to in the property “Use Case Steps” of a Use Case definition belong to the same Use Case - as it happens, the one containing the “Use Case Steps” property. Where a multiple reference property (like ListOf) refers to objects all belonging to the same parent object, it is advised to use one or more other properties to identify the parent object. In these situations, a KEYED BY clause is used to tell System Architect which other properties to use.