// Path: json-unit-core/src/main/java/net/javacrumbs/jsonunit/core/internal/ExceptionUtils.java
// static String formatDifferences(String message, Differences differences) {
//     return formatDifferences(message, differences.getDifferences());
// }


import org.opentest4j.AssertionFailedError;
import org.opentest4j.MultipleFailuresError;
import java.util.Collections;
import java.util.List;
import static java.util.stream.Collectors.toList;
import static net.javacrumbs.jsonunit.core.internal.ExceptionUtils.formatDifferences;
package net.javacrumbs.jsonunit.core.internal;




interface ExceptionFactory {
    AssertionError createException(String message, Differences diffs);
}

class BasicExceptionFactory implements ExceptionFactory {
    @Override
    public AssertionError createException(String message, Differences diffs) {
        return new BasicJsonAssertError(message, diffs);
    }

    private static class BasicJsonAssertError extends AssertionError {
        BasicJsonAssertError(String message, Differences differences) {
// Path: json-unit-core/src/main/java/net/javacrumbs/jsonunit/core/internal/ExceptionUtils.java
// static String formatDifferences(String message, Differences differences) {
//     return formatDifferences(message, differences.getDifferences());
// }


// Path: json-unit-core/src/main/java/net/javacrumbs/jsonunit/core/internal/ExceptionFactory.java
import org.opentest4j.AssertionFailedError;
import org.opentest4j.MultipleFailuresError;
import java.util.Collections;
import java.util.List;
import static java.util.stream.Collectors.toList;
import static net.javacrumbs.jsonunit.core.internal.ExceptionUtils.formatDifferences;

package net.javacrumbs.jsonunit.core.internal;




interface ExceptionFactory {
    AssertionError createException(String message, Differences diffs);
}

class BasicExceptionFactory implements ExceptionFactory {
    @Override
    public AssertionError createException(String message, Differences diffs) {
        return new BasicJsonAssertError(message, diffs);
    }

    private static class BasicJsonAssertError extends AssertionError {
        BasicJsonAssertError(String message, Differences differences) {
            super(formatDifferences(message, differences));