public static boolean isArrayEqual(final Object[] left, final Object[] right) {
        if (left == right) {
            return true;
        }
        if (left == null || right == null) {
            return false;
        }
        if (left.length != right.length) {
            return false;
        }
        for (int i = 0; i < left.length; ++i) {
            if (!isArrayElementEqual(left[i], right[i])) {
                return false;
            }
        }
        return true;
    }
public static boolean isArrayEqual ( final Object [ ] left , final Object [ ] right ) { if ( left == right ) { return true ; } if ( left == null || right == null ) { return false ; } if ( left . length != right . length ) { return false ; } for ( int i = 0 ; i < left . length ; ++ i ) { if ( ! isArrayElementEqual ( left [ i ] , right [ i ] ) ) { return false ; } } return true ; }
<p>
Internal utility method. DO NOT use this method directly.
</p>

@param left left side of the comparison
@param right left side of the comparison
@return true if both arrays are equal