def METHOD_NAME(self):
    """Uses xar to expand an archive"""
    try:
        xarcmd = [
            "/usr/bin/xar",
            "-x",
            "-C",
            self.env["destination_path"],
            "-f",
            self.source_path,
        ]
        if self.env.get("skip_payload"):
            xarcmd.extend(["--exclude", "Payload"])
        proc = subprocess.Popen(
            xarcmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True
        )
        (_, stderr) = proc.communicate()
    except OSError as err:
        raise ProcessorError(
            f"xar execution failed with error code {err.errno}: {err.strerror}"
        )
    if proc.returncode != 0:
        raise ProcessorError(
            f"extraction of {self.env['flat_pkg_path']} with xar failed: {stderr}"
        )