code: def _assoc_prop_matches(prop, ref_classname,
                              assoc_classes, result_classes, result_role):
          
          assert prop.type == 'reference'
  
          if assoc_classes and ref_classname not in assoc_classes:
              return False
          if result_classes and prop.reference_class not in result_classes:
              return False
          if result_role and prop.name.lower() != result_role:
              return False
          return True
docs: Test filters of a reference property and its associated entity
          Returns `True` if matches the criteria. Returns `False` if it does not
          match.
  
          Matches if ref_classname in assoc_classes, and result_role matches
          property name