code: def find_object(self, obj, search_dirs, file_name=None):
          
          if file_name is None:
              # TODO: should we define a make_file_name() method?
              template_name = self.make_template_name(obj)
              file_name = self.make_file_name(template_name)
  
          dir_path = self.get_object_directory(obj)
  
          if dir_path is not None:
              search_dirs = [dir_path] + search_dirs
  
          path = self._find_path_required(search_dirs, file_name)
  
          return path
docs: Return the path to a template associated with the given object.