public INode DuplicateNode(bool selfLink = false)
    {
        GameObject  newObject = Instantiate(gameObject);
        VillageNode newNode   = newObject.AddComponent <VillageNode>();

        newNode.SetUp(name);
        foreach (var link in Linked)
        {
            newNode.AddLink(link);
        }
        if (selfLink)
        {
            newNode.AddLink(this);
        }
        return(newNode);
    }