def METHOD_NAME(self, env: VirtualEnv) -> int | None:
    activate_script = self._get_activate_script()
    bin_dir = "Scripts" if WINDOWS else "bin"
    activate_path = env.path / bin_dir / activate_script
    # mypy requires using sys.platform instead of WINDOWS constant
    # in if statements to properly type check on Windows
    if sys.platform == "win32":
        args = None
        if self._name in ("powershell", "pwsh"):
            args = ["-NoExit", "-File", str(activate_path)]
        elif self._name == "cmd":
            # /K will execute the bat file and
            # keep the cmd process from terminating
            args = ["/K", str(activate_path)]
        if args:
            completed_proc = subprocess.run([self.path, *args])
            return completed_proc.returncode
        else:
            # If no args are set, execute the shell within the venv
            # This activates it, but there could be some features missing:
            # deactivate command might not work
            # shell prompt will not be modified.
            return env.execute(self._path)
    import shlex
    terminal = shutil.get_terminal_size()
    with env.temp_environ():
        c = pexpect.spawn(
            self._path, ["-i"], dimensions=(terminal.lines, terminal.columns)
        )
    if self._name in ["zsh", "nu"]:
        c.setecho(False)
    if self._name == "zsh":
        # Under ZSH the source command should be invoked in zsh's bash emulator
        c.sendline(f"emulate bash -c '. {shlex.quote(str(activate_path))}'")
    elif self._name == "xonsh":
        c.sendline(f"vox activate {shlex.quote(str(env.path))}")
    else:
        cmd = f"{self._get_source_command()} {shlex.quote(str(activate_path))}"
        if self._name in ["fish", "nu"]:
            # Under fish and nu "\r" should be sent explicitly
            cmd += "\r"
        c.sendline(cmd)
    def resize(sig: Any, data: Any) -> None:
        terminal = shutil.get_terminal_size()
        c.setwinsize(terminal.lines, terminal.columns)
    signal.signal(signal.SIGWINCH, resize)
    # Interact with the new shell.
    c.interact(escape_character=None)
    c.close()
    sys.exit(c.exitstatus)