private static TestResult RunTestFixture(ITestCommand testCommand, ConcordionTest concordionTest, TestStep parentTestStep)
 {
    ITestContext testContext = testCommand.StartPrimaryChildStep(parentTestStep);
     
     // The magic happens here!
     var concordion = new ConcordionBuilder()
                             .WithSource(concordionTest.Source)
                             .WithTarget(concordionTest.Target)
                             .WithSpecificationListener(new GallioResultRenderer())
                             .Build();
     concordionTest.ProcessGroupStart();
     ConstructorInfo constructor = concordionTest.FixtureType.GetConstructor(Type.EmptyTypes);
     var fixture=constructor.Invoke(new object[]{});
     var summary = concordion.Process(concordionTest.Resource, fixture);
     bool passed = !(summary.HasFailures || summary.HasExceptions);
     concordionTest.ProcessGroupEnd();
     testContext.AddAssertCount((int)summary.SuccessCount + (int)summary.FailureCount);
     return testContext.FinishStep(passed ? TestOutcome.Passed : TestOutcome.Failed, null);
 }