List<>.Add : Object reference not set to an object, but nothing is null

Hey every body.

I’m making a Node grid and i want to add in each Node his neighbors in a List.
I’m using for loops to get every Nodes but Unity Displays “Object reference not set to an object”.
So i tried to debug but nothing apprears.

This is my code

        for (int x = 0; x < bTm.mapSize.x; x++)
            for (int z = 0; z < bTm.mapSize.y; z++)
            {
                bTm.nodeGrid[x, z] = new Node();
                bTm.nodeGrid[x, z].x = x;
                bTm.nodeGrid[x, z].z = z;

                if (bTm.tiles[x, z] == 0)
                {
                    bTm.nodeGrid[x, z].isAir = true;
                }
            }

        for (int x = 0; x < bTm.mapSize.x; x++)
            for (int z = 0; z < bTm.mapSize.y; z++)
            {
                Node n = bTm.nodeGrid[x, z];
                List<Node> nList = new List<Node>();

                if (n.isAir == false)
                {                    
                    
                    if (x < bTm.mapSize.x - 1)
                        if (bTm.nodeGrid[x + 1, z].isAir == false)
                            nList.Add(bTm.nodeGrid[x + 1, z]);

                    if (x > 0)
                        if (bTm.nodeGrid[x - 1, z].isAir == false)
                            nList.Add(bTm.nodeGrid[x - 1, z]);

                    if (z < bTm.mapSize.y - 1)
                        if (bTm.nodeGrid[x, z + 1].isAir == false)
                            nList.Add(bTm.nodeGrid[x, z + 1]);

                    if (z > 0)
                        if (bTm.nodeGrid[x, z - 1].isAir == false)
                            nList.Add(bTm.nodeGrid[x, z - 1]);
                }

                foreach(Node _n in nList)
                {
                    if (_n != null)
                        if (bTm.nodeGrid != null)
                            bTm.nodeGrid[x, z].edges.Add(_n);
                        else
                            Debug.Log("Node grid is null.");
                    else
                        Debug.Log("_n is null");
                }
            }   

mapSize.x = 20

mapSize.y = 20

EDIT :

The issue happen for the x + 1 and z + 1 ones.

Thanks for your help, xyHeat

Ok i found :

I forgot this line :

bTm.nodeGrid[x, z].edges = new List();

Bye, xyHeat