private void Add(Node newNode)
            {
                if (!newNode.HasPathTo(_lastNode) && !newNode.Equals(_lastNode))
                {
                    return;
                }

                var matchNode = _currentNodes.FirstOrDefault(node => node.Equals(newNode));

                if (matchNode == null)
                {
                    _currentNodes.Add(newNode);
                    return;
                }

                matchNode.MergePathCount(newNode);
            }