<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def extract(self, path, outdir, concurrency_safe=False, **kwargs):
 """Extracts an archive's contents to the specified outdir with an optional filter. Keyword arguments are forwarded to the instance's self._extract() method. :API: public :param string path: path to the zipfile to extract from :param string outdir: directory to extract files into :param bool concurrency_safe: True to use concurrency safe method. Concurrency safe extraction will be performed on a temporary directory and the extacted directory will then be renamed atomically to the outdir. As a side effect, concurrency safe extraction will not allow overlay of extracted contents onto an existing outdir. """

    if concurrency_safe:
      with temporary_dir() as temp_dir:
        self._extract(path, temp_dir, **kwargs)
        safe_concurrent_rename(temp_dir, outdir)
    else:
      # Leave the existing default behavior unchanged and allows overlay of contents.
      self._extract(path, outdir, **kwargs)