protected override IMsTestElementFactory CreateMsTestElementFactory(
     SilverlightServices silverlightServices,
     IUnitTestElementManager unitTestElementManager,
     IUnitTestCategoryFactory unitTestCategoryFactory)
 {
     return new MsTestElementFactory(silverlightServices, unitTestElementManager, unitTestCategoryFactory);
 }
 protected abstract IMsTestElementFactory CreateMsTestElementFactory(SilverlightServices silverlightServices, IUnitTestElementManager unitTestElementManager, IUnitTestCategoryFactory unitTestCategoryFactory);
        private void RunWithElementFactory(Action<IMsTestElementFactory> action)
        {
            var silverlightServices = new SilverlightServices(this.msTestServices, this.Provider);
            var elementFactory = this.CreateMsTestElementFactory(silverlightServices, this.unitTestElementManager, this.unitTestCategoryFactory);

            action(elementFactory);

            silverlightServices.ExplorationCompleted = true;
        }