// 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.reflect.Method;
import org.junit.internal.runners.model.ReflectiveCallable;
import org.junit.runners.model.FrameworkMethod;
import static com.squareup.burst.BurstJUnit4.nameWithArguments;
import static com.squareup.burst.Util.checkNotNull;
package com.squareup.burst;



final class BurstMethod extends FrameworkMethod {
  private final Enum<?>[] methodArgs;

  BurstMethod(Method method, Enum<?>[] methodArgs) {
    super(checkNotNull(method, "method"));
    this.methodArgs = checkNotNull(methodArgs, "methodArgs");
  }

  @Override public Object invokeExplosively(final Object target, Object... params)
// 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/BurstMethod.java
import java.lang.reflect.Method;
import org.junit.internal.runners.model.ReflectiveCallable;
import org.junit.runners.model.FrameworkMethod;
import static com.squareup.burst.BurstJUnit4.nameWithArguments;
import static com.squareup.burst.Util.checkNotNull;

package com.squareup.burst;



final class BurstMethod extends FrameworkMethod {
  private final Enum<?>[] methodArgs;

  BurstMethod(Method method, Enum<?>[] methodArgs) {
    super(checkNotNull(method, "method"));
    this.methodArgs = checkNotNull(methodArgs, "methodArgs");
  }

  @Override public Object invokeExplosively(final Object target, Object... params)
      throws Throwable {