- entityDefinitions:
  - IDC_ConditionalSelectInstanceSetMethod: '{ffea8e52-06e5-4e95-8c40-da3ba54ce95f}'
  # {03275ef5-c9cf-4816-a4f5-4f3aaf0f9479}
  
  - IDR_Conditional_Select_Instance_Set_Method__returns__Attribute: '{b2b9d9cc-c4dd-491b-853e-e3669ea4e66a}'
  - IDR_Instance_Set__returned_by__Conditional_Select_Instance_Set_Method: '{e3e734ce-953b-49b8-b50d-b1826b519053}'
  
  - IDR_Conditional_Select_Instance_Set_Method__returns__Work_Set: '{49396bd0-b5a9-4384-99f4-2126d80b3b66}'
  - IDR_Work_Set__returned_by__Conditional_Select_Instance_Set_Method: '{38e2816e-ccb4-4e89-86ab-4981f5c2d7ac}'

- library: '&IDL_MochaBaseSystem;'
  instances:
  - class: '&IDC_ConditionalSelectInstanceSetMethod;'
    index: 13039
    name: SSC - Conditional Select from Instance Set Method
    customTagName: 'conditionalSelectInstanceSetMethod'
    # instancesLabeledByRAMB: '&IDMB_Method__get__Fully_Qualified_Name_SSC;'
    superclasses:
    - instance: '&IDC_Method;'
    - instance: '&IDC_ExecutableReturningInstanceSet;'
    # defaultTask: '&IDI_Task_ViewConditionalSelectInstanceSetMethod;'
    # relatedTasks:
    # - instance: '&IDI_Task_ViewConditionalSelectInstanceSetMethod;'
    # - instance: '&IDI_Task_EditConditionalSelectInstanceSetMethod;'
    attributes:
    - instance: '&IDA_Verb;'
      customTagName: 'verb'
    - instance: '&IDA_Name;'
      customTagName: 'name'
    - instance: '&IDA_Static;'
      customTagName: 'static'
    - instance: '&IDA_Final;'
      customTagName: 'final'
    relationships:
    - instance: '&IDR_Method__for__Class;'
      customTagName: 'forClassId'
    - instance: '&IDR_Metadata_With_Access_Modifier__has__Access_Modifier;'
      customTagName: 'accessModifierId'
    - instance: '&IDR_Conditional_Select_Instance_Set_Method__returns__Work_Set;'
      customTagName: 'returnsWorkSetId'
    - instance: '&IDR_Conditional_Select_Instance_Set_Method__has__Conditional_Select_Instance_Set_Case;'
      # customTagName: 'cases'
      customTagNameCreatesInstanceOf: '&IDC_ConditionalSelectInstanceSetCase;'
      # let's try this, define a custom tag name local to this particular context
      # otherwise, we would have to have e.g. 'conditionalSelectAttributeCase' and 'conditionalSelectInstanceSetCase' because they're different..
      instanceCustomTagName: 'case'
    - instance: '&IDR_Instance__for__Module;'
      customTagName: 'moduleId'

  - relationship: '&IDR_Conditional_Select_Instance_Set_Method__has__Conditional_Select_Instance_Set_Case;'
    index: 37625
    sourceClassId: '&IDC_ConditionalSelectInstanceSetMethod;'
    type: 'has'
    destinationClassId: '&IDC_ConditionalSelectInstanceSetCase;'
    siblingRelationshipId: '&IDR_Conditional_Select_Instance_Set_Case__for__Conditional_Select_Instance_Set_Method;'
    singular: yes

  - relationship: '&IDR_Conditional_Select_Instance_Set_Case__for__Conditional_Select_Instance_Set_Method;'
    index: 37626
    sourceClassId: '&IDC_ConditionalSelectInstanceSetCase;'
    type: 'for'
    destinationClassId: '&IDC_ConditionalSelectInstanceSetMethod;'
    siblingRelationshipId: '&IDR_Conditional_Select_Instance_Set_Method__has__Conditional_Select_Instance_Set_Case;'
    singular: no

  - relationship: '&IDR_Conditional_Select_Instance_Set_Method__returns__Work_Set;'
    index: 37635
    sourceClassId: '&IDC_ConditionalSelectInstanceSetMethod;'
    type: 'returns'
    destinationClassId: '&IDC_WorkSet;'
    siblingRelationshipId: '&IDR_Work_Set__returned_by__Conditional_Select_Instance_Set_Method;'
    singular: yes

  - relationship: '&IDR_Work_Set__returned_by__Conditional_Select_Instance_Set_Method;'
    index: 37636
    sourceClassId: '&IDC_WorkSet;'
    type: 'returned by'
    destinationClassId: '&IDC_ConditionalSelectInstanceSetMethod;'
    siblingRelationshipId: '&IDR_Conditional_Select_Instance_Set_Method__returns__Attribute;'
    singular: no
