Resolve and return reference resources pointed to by object

         Fields in resource.props can flag that they are references by
         using the references type. This method scans the model,
         finds any fields that are references, and returns the
         reference resources pointed to by those references.

         Note that we shouldn't get to the point of dangling references.
         Our custom Sphinx event should raise a references error
         during the build process (though maybe it is just a warning?)

def resource_references(self, resource) -> Mapping[str, List[Any]]:
        """ Resolve and return reference resources pointed to by object

         Fields in resource.props can flag that they are references by
         using the references type. This method scans the model,
         finds any fields that are references, and returns the
         reference resources pointed to by those references.

         Note that we shouldn't get to the point of dangling references.
         Our custom Sphinx event should raise a references error
         during the build process (though maybe it is just a warning?)

         """

        references = dict()
        for reference_label in resource.props.references:
            references[reference_label] = []

            # Iterate over each value on this field, e.g.
            # tags: tag1, tag2, tag3
            for target_label in resource.props.references.get(reference_label):
                # Ask the site to get the object
                target = self.get_reference(reference_label, target_label)
                references[reference_label].append(target)

        return references