public IFreeGraphAdapter GetAdapter(IObjectWithNameWeightAndType node)
        {
            var t = node.GetType();

            if (adapters.ContainsKey(t))
            {
                return(adapters[t]);
            }
            throw new ArgumentOutOfRangeException("Node type not supported by adapters", nameof(node));
        }
        /// <summary>
        /// Gets the identifier - built from prefix (specified by adapter) and object name
        /// </summary>
        /// <param name="Node">A node to get identifier for</param>
        /// <returns></returns>
        /// <exception cref="ArgumentOutOfRangeException">Node type not supported by adapters - Node</exception>
        public String GetID(IObjectWithNameWeightAndType Node)
        {
            Type t = Node.GetType();

            if (!adapters.ContainsKey(t))
            {
                throw new ArgumentOutOfRangeException("Node type not supported by adapters", nameof(Node));
            }
            else
            {
                return(adapters[t].GetID(Node));
            }
        }