@SuppressWarnings("unchecked")
	@Override
	public boolean unsafeEquals(Object a, Object b) {
    """
	Checks whether two Arrays {@code a} and {@code b} are
	equal.
	<p>
	A type specific {@code TypeAdapter} is used to compare the items.
	
	@param a first array
	@param b second array
	@return {@code true} if all items are equal, {@code false} otherwise
    """
		final int length = Array.getLength(a);
		if (length != Array.getLength(b)) {
			return false;
		}
		for (int i = 0; i < length; i++) {
			if (!componentAdapter.unsafeEquals(Array.get(a, i), Array.get(b, i))) {
				return false;
			}
		}
		return true;
	}
@SuppressWarnings("unchecked")
	@Override
	public boolean unsafeEquals(Object a, Object b) {
		final int length = Array.getLength(a);
		if (length != Array.getLength(b)) {
			return false;
		}
		for (int i = 0; i < length; i++) {
			if (!componentAdapter.unsafeEquals(Array.get(a, i), Array.get(b, i))) {
				return false;
			}
		}
		return true;
	}
@ SuppressWarnings ( "unchecked" ) @ Override public boolean unsafeEquals ( Object a , Object b ) { final int length = Array . getLength ( a ) ; if ( length != Array . getLength ( b ) ) { return false ; } for ( int i = 0 ; i < length ; i ++ ) { if ( ! componentAdapter . unsafeEquals ( Array . get ( a , i ) , Array . get ( b , i ) ) ) { return false ; } } return true ; }
Checks whether two Arrays {@code a} and {@code b} are
equal.
<p>
A type specific {@code TypeAdapter} is used to compare the items.

@param a first array
@param b second array
@return {@code true} if all items are equal, {@code false} otherwise
Checks whether two Arrays { @code a } and { @code b } are equal . <p > A type specific { @code TypeAdapter } is used to compare the items .