def _post_md5_skip_on_check(self, key, filename, size, md5_match):
        # type: (Downloader, str, str, int, bool) -> None
        """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
        """
        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)
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