/// <remark>
        /// We need a NodeTypeId because the NodeId is missing from the HashKey if this is a new node we're about to add
        /// </remark>
        private CswNbtNode _getExistingNode(NodeHashKey HashKey, Int32 NodeTypeId, CswDateTime Date)
        {
            CswTimer   Timer = new CswTimer();
            CswNbtNode Node  = new CswNbtNode(_CswNbtResources, _CswNbtNodeWriter, NodeTypeId, CswEnumNbtNodeSpecies.Plain, HashKey.NodeId, _NodeHash.Count, Date);

            //bz # 7816 -- only add to the collection if the node got filled
            Node.fill();
            if (Node.Filled)
            {
                if (!_NodeHash.ContainsKey(HashKey))
                {
                    _NodeHash.Add(HashKey, Node);
                }
                _CswNbtResources.logTimerResult("CswNbtNodeCollection.makeNode on NodeId (" + HashKey.NodeId.ToString() + ")", Timer.ElapsedDurationInSecondsAsString);
            }
            else
            {
                Node = null;
            }
            return(Node);
        }