Finds out whether there is a loop in the graph formed by linked instances from CurrNode, used by HasInstanceLoop. VisitedNodes and NodeStack are required to track the graph links VisitedNodes - Node we have searched the links of, so we don't do it twice NodeStack - The currently considered chain of nodes. If a loop is detected this will contain the chain that causes the loop