public async Task FindActiveGrains_typed()
        {
            //IManagementGrain mgmtGrain = GrainClient.GrainFactory.GetGrain<IManagementGrain>(RuntimeInterfaceConstants.SYSTEM_MANAGEMENT_ID);
            //Catalog.GetGrainStatistics();
            // start a second silo and wait for it
            if (HostedCluster.SecondarySilos.Count == 0)
            {
                HostedCluster.StartAdditionalSilo();
                await HostedCluster.WaitForLivenessToStabilizeAsync();
            }

            // create grains
            output.WriteLine("creating and activating grains");
            var grain1 = GrainClient.GrainFactory.GetGrain <ISimpleGrain>(1);
            var grain2 = GrainClient.GrainFactory.GetGrain <ISimpleGrain>(2);
            var grain3 = GrainClient.GrainFactory.GetGrain <ISimpleGrain>(3);
            await grain1.GetA();

            await grain2.GetA();

            await grain3.GetA();

            //enumerate active grains
            output.WriteLine("\n\nour own grain statistics");
            IActiveGrainEnumeratorGrain enumGrain    = GrainClient.GrainFactory.GetGrain <IActiveGrainEnumeratorGrain>(0);
            IEnumerable <IGrain>        activeGrains = enumGrain.GetActiveGrains(typeof(ISimpleGrain)).Result;

            foreach (var entry in activeGrains)
            {
                output.WriteLine("guid = {0}", entry.GetPrimaryKey());
            }

            Assert.Equal(3, activeGrains.AsQueryable().Count());
        }
        public async Task FindActiveGrains_typed()
        {
            await base.StartAndWaitForSecondSilo();

            // create grains
            base.Output.WriteLine("creating and activating grains");
            var grain1 = base.GetGrain <ISimpleGrain>(1);
            var grain2 = base.GetGrain <ISimpleGrain>(2);
            var grain3 = base.GetGrain <ISimpleGrain>(3);
            await grain1.GetA();

            await grain2.GetA();

            await grain3.GetA();

            //enumerate active grains
            base.Output.WriteLine("\n\nour own grain statistics");
            IActiveGrainEnumeratorGrain enumGrain    = base.GetGrain <IActiveGrainEnumeratorGrain>(0);
            IEnumerable <IGrain>        activeGrains = enumGrain.GetActiveGrains(typeof(ISimpleGrain)).Result;

            foreach (var entry in activeGrains)
            {
                base.Output.WriteLine("guid = {0}", entry.GetPrimaryKey());
            }

            Assert.Equal(3, activeGrains.AsQueryable().Count());
        }