Get IEnumerator parameters with StopCoroutine

Hi. Is it possible with StopCoroutine (or smth else to stop IEnumerator) to get parameters, that was passed to IEnumerator?

    IEnumerator current_speech;
    
    void LoadLine(DialogObject.Node node) //get called from another script
    {
        /*
        code code code
        */
        current_speech = Speech(node);
        StartCoroutine(current_speech);
    }
    
    IEnumerator Speech(DialogObject.Node node)
    {
        yield return new WaitForSeconds(node.voice.length);
        Next(node);
    }
    
    void Skip()
    {
        if (current_speech != null)
            StopCoroutine(current_speech);
        Next(node); //node - is what i want to get from current_speech
    }

    void Update()
    {
        if (Input.anyKeyDown)
            Skip();
    }

Or I have to declare global DialogObject.Node and assign it in LoadLine?

Found a workaround

    IEnumerator Speech(DialogObject.Node node)
    {
        AudioSource speaker = ...; // get a audio source that is currenlty playing
    
        while (speaker.isPlaying && !Input.GetButton("Jump")
            yield return null;
    
        speaker.Stop();
        Next(node);
    }