code: def _post_md5_skip_on_check(self, key, filename, size, md5_match):
          # type: (Downloader, str, str, int, bool) -> None
          
          with self._md5_meta_lock:
              rfile = self._md5_map.pop(key)
          lpath = pathlib.Path(filename)
          if md5_match:
              if size is None:
                  size = lpath.stat().st_size
              with self._transfer_lock:
                  self._transfer_set.remove(
                      blobxfer.operations.download.Downloader.
                      create_unique_transfer_operation_id(rfile))
                  self._download_total -= 1
                  self._download_bytes_total -= size
              if self._general_options.dry_run:
                  logger.info('[DRY RUN] MD5 match, skipping: {} -> {}'.format(
                      rfile.path, lpath))
          else:
              if self._general_options.dry_run:
                  with self._transfer_lock:
                      self._transfer_set.remove(
                          blobxfer.operations.download.Downloader.
                          create_unique_transfer_operation_id(rfile))
                      self._download_total -= 1
                      self._download_bytes_total -= size
                  logger.info(
                      '[DRY RUN] MD5 mismatch, download: {} -> {}'.format(
                          rfile.path, lpath))
              else:
                  self._add_to_download_queue(lpath, rfile)
docs: Perform post MD5 skip on check
          :param Downloader self: this
          :param str key: md5 map key
          :param str filename: local filename
          :param int size: size of checked data
          :param bool md5_match: if MD5 matches