public List <Node> GetAllNodes() { var nodes = new List <Node>(); if (IsLeafNode) { nodes.Add(this); return(nodes); } nodes.AddRange(NW.GetAllNodes()); nodes.AddRange(NE.GetAllNodes()); nodes.AddRange(SW.GetAllNodes()); nodes.AddRange(SE.GetAllNodes()); return(nodes); }