// Path: burst-junit4/src/main/java/com/squareup/burst/BurstJUnit4.java
// static String nameWithArguments(String name, Enum<?>[] arguments,
//                                 Annotation[][] argumentAnnotations) {
//   if (arguments.length == 0) {
//     return name;
//   }
//   return name + '[' + Burst.friendlyName(arguments, argumentAnnotations) + ']';
// }
// 
// Path: burst/src/main/java/com/squareup/burst/Util.java
// static <T> T checkNotNull(T o, String message) {
//   if (o == null) {
//     throw new NullPointerException(message);
//   }
//   return o;
// }


import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runner.manipulation.Filter;
import org.junit.runner.manipulation.NoTestsRemainException;
import org.junit.runners.BlockJUnit4ClassRunner;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.Statement;
import static com.squareup.burst.BurstJUnit4.nameWithArguments;
import static com.squareup.burst.Util.checkNotNull;
package com.squareup.burst;



/**
 * A set of tests associated with a particular variation of some test class.
 */
final class BurstRunner extends BlockJUnit4ClassRunner {
  private final TestConstructor constructor;
  private final Enum<?>[] constructorArgs;
  private final List<FrameworkMethod> methods;

  BurstRunner(Class<?> cls, TestConstructor constructor, Enum<?>[] constructorArgs,
      List<FrameworkMethod> methods) throws InitializationError {
// Path: burst-junit4/src/main/java/com/squareup/burst/BurstJUnit4.java
// static String nameWithArguments(String name, Enum<?>[] arguments,
//                                 Annotation[][] argumentAnnotations) {
//   if (arguments.length == 0) {
//     return name;
//   }
//   return name + '[' + Burst.friendlyName(arguments, argumentAnnotations) + ']';
// }
// 
// Path: burst/src/main/java/com/squareup/burst/Util.java
// static <T> T checkNotNull(T o, String message) {
//   if (o == null) {
//     throw new NullPointerException(message);
//   }
//   return o;
// }


// Path: burst-junit4/src/main/java/com/squareup/burst/BurstRunner.java
import java.lang.annotation.Annotation;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.junit.rules.TestRule;
import org.junit.runner.Description;
import org.junit.runner.manipulation.Filter;
import org.junit.runner.manipulation.NoTestsRemainException;
import org.junit.runners.BlockJUnit4ClassRunner;
import org.junit.runners.model.FrameworkMethod;
import org.junit.runners.model.InitializationError;
import org.junit.runners.model.Statement;
import static com.squareup.burst.BurstJUnit4.nameWithArguments;
import static com.squareup.burst.Util.checkNotNull;

package com.squareup.burst;



/**
 * A set of tests associated with a particular variation of some test class.
 */
final class BurstRunner extends BlockJUnit4ClassRunner {
  private final TestConstructor constructor;
  private final Enum<?>[] constructorArgs;
  private final List<FrameworkMethod> methods;

  BurstRunner(Class<?> cls, TestConstructor constructor, Enum<?>[] constructorArgs,
      List<FrameworkMethod> methods) throws InitializationError {
    super(checkNotNull(cls, "cls"));