code: def _clone_arrow_and_crossbow(dest, crossbow_repo, pull_request):
      """
      Clone the repositories and initialize crossbow objects.
  
      Parameters
      ----------
      dest : Path
          Filesystem path to clone the repositories to.
      crossbow_repo : str
          GitHub repository name, like kszucs/crossbow.
      pull_request : pygithub.PullRequest
          Object containing information about the pull request the comment bot
          was triggered from.
      """
      arrow_path = dest / "arrow"
      queue_path = dest / "crossbow"
  
      # clone arrow and checkout the pull request's branch
      pull_request_ref = "pull/{}/head:{}".format(
          pull_request.number, pull_request.head.ref
      )
      git.clone(pull_request.base.repo.clone_url, str(arrow_path))
      git.fetch("origin", pull_request_ref, git_dir=arrow_path)
      git.checkout(pull_request.head.ref, git_dir=arrow_path)
  
      # clone crossbow repository
      crossbow_url = "https://github.com/{}".format(crossbow_repo)
      git.clone(crossbow_url, str(queue_path))
  
      # initialize crossbow objects
      github_token = os.environ["CROSSBOW_GITHUB_TOKEN"]
      arrow = Repo(arrow_path)
      queue = Queue(
          queue_path, github_token=github_token, require_https=True
      )
  
      return (arrow, queue)
  
imports: import enum
  import os
  import shlex
  from pathlib import Path
  from functools import lru_cache, partial
  import tempfile
  import click
  import github
  from .utils.git import git
  from .utils.logger import logger
  from .crossbow import Repo, Queue, Config, Target, Job, CommentReport
label_desc: Use image node_id 4 for calling a global function with example usage: _clone_arrow_and_crossbow(dest, crossbow_repo, pull_request) and returns: arrow,  queue