public static <T> void assertContainsExactly(Collection<T> expected, Collection<T> actual) {

		Set<T> expectedSet = new HashSet<>(expected);
		Set<T> actualSet = new HashSet<>(actual);

		expectedSet.removeAll(actual);
		actualSet.removeAll(expected);

		if (!actualSet.isEmpty()) {
			Assert.fail("Actual collection had more entries than expected.\nExpected: " + expected +
				"\nFound:      " + actual);
		}

		if (!expectedSet.isEmpty()) {
			Assert.fail(
				"Expected collection had these entries not found in the actual collection: " +
					expectedSet);
		}
	}
Compares the contents of two arrays to determine if they are equal

@param expected The expected array.
@param actual The actual array.
Ghidra/Framework/Generic/src/main/java/generic/test/AbstractGTest.java