Buggy code:
@ SuppressWarnings ( "unchecked" ) public final class ArrayUtility { private static Random r = new Random ( ) ; public static double [ ] range ( double start , double end , double increment ) { } public static int [ ] range ( int start , int end , int increment ) { } public static float [ ] range ( float start , float end , float increment ) { } public static short [ ] range ( short start , short end , short increment ) { } public static long [ ] range ( long start , long end , long increment ) { } public static byte [ ] range ( byte start , byte end , byte increment ) { } public static < T > void shuffle ( T [ ] a ) { } public static void shuffle ( int [ ] a ) { } public static void shuffle ( short [ ] a ) { } public static void shuffle ( float [ ] a ) { } public static void shuffle ( byte [ ] a ) { } public static void shuffle ( boolean [ ] a ) { } public static void shuffle ( long [ ] a ) { } public static void shuffle ( double [ ] a ) { } public static void shuffle ( char [ ] a ) { } public static < T > void swap ( int i , int j , T [ ] a ) { } public static void swap ( int i , int j , int [ ] a ) { } public static void swap ( int i , int j , short [ ] a ) { } public static void swap ( int i , int j , float [ ] a ) { } public static void swap ( int i , int j , byte [ ] a ) { } public static void swap ( int i , int j , boolean [ ] a ) { } public static void swap ( int i , int j , long [ ] a ) { } public static void swap ( int i , int j , double [ ] a ) { } public static void swap ( int i , int j , char [ ] a ) { } public static < T > boolean contains ( T t , T [ ] a ) { } public static boolean contains ( int t , int [ ] a ) { } public static boolean contains ( short t , short [ ] a ) { } public static boolean contains ( double t , double [ ] a ) { } public static boolean contains ( float t , float [ ] a ) { } public static boolean contains ( byte t , byte [ ] a ) { } public static boolean contains ( char t , char [ ] a ) { } public static boolean contains ( long t , long [ ] a ) { } public static boolean contains ( boolean t , boolean [ ] a ) { } public static < T > int indexOf ( T o , T [ ] a ) { for ( int i = 0 ; i < ( a . length ) ; i ++ ) <START_BUG> if ( o == a ) <END_BUG> return i ; return - 1 ; } public static int indexOf ( int o , int [ ] a ) { } public static int indexOf ( short o , short [ ] a ) { } public static int indexOf ( byte o , byte [ ] a ) { } public static int indexOf ( float o , float [ ] a ) { } public static int indexOf ( double o , double [ ] a ) { } public static int indexOf ( long o , long [ ] a ) { } public static int indexOf ( char o , char [ ] a ) { } public static int indexOf ( boolean o , boolean [ ] a ) { } public static < T > T [ ] removeIndex ( T [ ] a , int index ) { } public static byte [ ] removeIndex ( byte [ ] a , int index ) { } public static int [ ] removeIndex ( int [ ] a , int index ) { } public static short [ ] removeIndex ( short [ ] a , int index ) { } public static long [ ] removeIndex ( long [ ] a , int index ) { } public static float [ ] removeIndex ( float [ ] a , int index ) { } public static double [ ] removeIndex ( double [ ] a , int index ) { } public static char [ ] removeIndex ( char [ ] a , int index ) { } public static boolean [ ] removeIndex ( boolean [ ] a , int index ) { } public static < T > T [ ] removeElement ( T [ ] a , T element ) { } public static boolean [ ] removeElement ( boolean [ ] a , boolean element ) { } public static byte [ ] removeElement ( byte [ ] a , byte element ) { } public static char [ ] removeElement ( char [ ] a , char element ) { } public static float [ ] removeElement ( float [ ] a , float element ) { } public static double [ ] removeElement ( double [ ] a , double element ) { } public static long [ ] removeElement ( long [ ] a , long element ) { }

Fix:
if ( o == ( a [ i ] ) )