CascadingPlugins tutorial error relating to AudioProcessorGraph::Node

Hi all,

    for (int i = 0; i < 2; ++i)
    {
        auto  slot   = slots   .getUnchecked (i);
        auto& bypass = bypasses.getReference (i);

       // assert (slot != nullptr);
        if (slot != nullptr){
            slot->setBypassed (bypass->get());
            std::cout << "Bypassed" << std::endl;
        }
    }
    assert(muteInputParamTest != nullptr);
    assert(audioInputNode != nullptr); 
    audioInputNode->setBypassed (muteInputParamTest->get());
    jassert(slot1Node != nullptr);
    jassert(slot2Node != nullptr);
    slot1Node = slots.getUnchecked (0);
    slot2Node = slots.getUnchecked (1);

}

This code is a direct copy from the cascading plugins tutorial, the assertion test I added to debug,
assert(audioInputNode != nullptr);
is failing, I have followed the tutorial absolutly to the letter, why could this be happening?

The debugger breaks on this line:

 audioInputNode->setBypassed (muteInputParamTest->get());
auto* processorSlot1ParamTest = dynamic_cast<juce::AudioParameterChoice*>(userParameters.getParameter("processorSlot1"));
    auto* processorSlot2ParamTest = dynamic_cast<juce::AudioParameterChoice*>(userParameters.getParameter("processorSlot2"));
    auto* bypassSlot1ParamTest = dynamic_cast<juce::AudioParameterBool*>(userParameters.getParameter("bypassSlot1"));
    auto* bypassSlot2ParamTest = dynamic_cast<juce::AudioParameterBool*>(userParameters.getParameter("bypassSlot2"));
    auto* muteInputParamTest = dynamic_cast<juce::AudioParameterBool*>(userParameters.getParameter("muteInput"));

I do not have issues with any other of these types except muteInputParamTest, but from my printing i know muteInputParam is valid, it is the audioNode that is null

Many thanks in advance