<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def resolve(self, link_resource_type, resource_id, array=None):
 """Resolve a link to a CDA resource. Provided an `array` argument, attempt to retrieve the resource from the `mapped_items` section of that array (containing both included and regular resources), in case the resource cannot be found in the array (or if no `array` was provided) - attempt to fetch the resource from the API by issuing a network request. :param link_resource_type: (str) Resource type as str. :param resource_id: (str) Remote ID of the linked resource. :param array: (:class:`.Array`) Optional array resource. :return: :class:`.Resource` subclass, `None` if it cannot be retrieved. """

        result = None

        if array is not None:
            container = array.items_mapped.get(link_resource_type)
            result = container.get(resource_id)

        if result is None:
            clz = utils.class_for_type(link_resource_type)
            result = self.fetch(clz).where({'sys.id': resource_id}).first()

        return result