code: static <T> List<T> getFilteredChildren(ParentRunner<T> parentRunner) {
      try {
        //noinspection unchecked
        return new ArrayList<>((Collection<T>) getFilteredChildrenMethod.invoke(parentRunner));
      } catch (IllegalAccessException | InvocationTargetException e) {
        throw new RuntimeException("Failed to invoke getFilteredChildren()", e);
      }
    }
docs: Reflectively invokes a {@link ParentRunner}'s getFilteredChildren method. Manipulating this
  list lets us control which tests will be run.