public virtual void filter(org.junit.runner.manipulation.Filter filter)
 {
   if (this.getTest() is Filterable)
   {
     ((Filterable) this.getTest()).filter(filter);
   }
   else
   {
     if (!(this.getTest() is TestSuite))
       return;
     TestSuite testSuite1 = (TestSuite) this.getTest();
     TestSuite testSuite2 = new TestSuite(testSuite1.getName());
     int num = testSuite1.testCount();
     for (int index = 0; index < num; ++index)
     {
       Test test = testSuite1.testAt(index);
       if (filter.shouldRun(JUnit38ClassRunner.makeDescription(test)))
         testSuite2.addTest(test);
     }
     this.setTest((Test) testSuite2);
   }
 }
 internal virtual Test createTest([In] Description obj0)
 {
   if (obj0.isTest())
   {
     return (Test) new JUnit4TestCaseFacade(obj0);
   }
   else
   {
     TestSuite testSuite = new TestSuite(obj0.getDisplayName());
     Iterator iterator = obj0.getChildren().iterator();
     while (iterator.hasNext())
     {
       Description description = (Description) iterator.next();
       testSuite.addTest(this.asTest(description));
     }
     return (Test) testSuite;
   }
 }