/// <summary>
        /// Gets the tenant cache for a given tenant
        /// </summary>
        /// <param name="tenantGuid"></param>
        /// <param name="cacheName"></param>
        /// <returns></returns>
        public static ObjectCache GetTenantCache( string tenantGuid, string cacheName )
        {
            CachePool cp;

            if ( tenantGuid == null )
                return null;

            if ( TenantCachePools.TryGetValue( tenantGuid, out cp ) )
                return cp.GetCache( cacheName );

            cp = new CachePool( "Tenant" );

            // we have to add the pool
            while (TitanContext.IsInitializing) // wait, if we're initializing
            {
                Thread.Sleep(1000);
            }
            TenantCachePools.Add( tenantGuid, cp );

            return cp.GetCache( cacheName );
        }