docs: def termination_check_md5(self):
          # type: (Downloader) -> bool
          """Check if terminated from MD5 context
          :param Downloader self: this
          :rtype: bool
          :return: if terminated from MD5 context
          """
          with self._md5_meta_lock:
              with self._transfer_lock:
                  return (self._download_terminate or
                          (self._all_remote_files_processed and
                           len(self._md5_map) == 0 and
                           len(self._transfer_set) == 0))