private bool tryGet(string archetype, string kit, out AsyncAssetPool <GameObject> pool)
        {
            ResPath.Inspection archInspect, kitInspect;
            try
            {
                archInspect = ResPath.Inspect(archetype);
                kitInspect  = ResPath.Inspect(kit);
            }
            catch (InvalidOperationException ex)             // catch parse error
            {
                pool = null;
                return(false);
            }

            pool = null;
            if (!m_PoolByArchetype.TryGetValue(archInspect.ResourcePath, out var kitMap))
            {
                return(false);
            }

            return(kitMap.TryGetValue(kitInspect.ResourcePath, out pool));
        }