Buggy code:
public static Byte [ ] toObject ( byte [ ] array ) { } public static double [ ] toPrimitive ( Double [ ] array ) { } public static double [ ] toPrimitive ( Double [ ] array , double valueForNull ) { } public static Double [ ] toObject ( double [ ] array ) { } public static float [ ] toPrimitive ( Float [ ] array ) { } public static float [ ] toPrimitive ( Float [ ] array , float valueForNull ) { } public static Float [ ] toObject ( float [ ] array ) { } public static boolean [ ] toPrimitive ( Boolean [ ] array ) { } public static boolean [ ] toPrimitive ( Boolean [ ] array , boolean valueForNull ) { } public static Boolean [ ] toObject ( boolean [ ] array ) { } public static boolean isEmpty ( Object [ ] array ) { } public static boolean isEmpty ( long [ ] array ) { } public static boolean isEmpty ( int [ ] array ) { } public static boolean isEmpty ( short [ ] array ) { } public static boolean isEmpty ( char [ ] array ) { } public static boolean isEmpty ( byte [ ] array ) { } public static boolean isEmpty ( double [ ] array ) { } public static boolean isEmpty ( float [ ] array ) { } public static boolean isEmpty ( boolean [ ] array ) { } public static Object [ ] addAll ( Object [ ] array1 , Object [ ] array2 ) { } public static boolean [ ] addAll ( boolean [ ] array1 , boolean [ ] array2 ) { } public static char [ ] addAll ( char [ ] array1 , char [ ] array2 ) { } public static byte [ ] addAll ( byte [ ] array1 , byte [ ] array2 ) { } public static short [ ] addAll ( short [ ] array1 , short [ ] array2 ) { } public static int [ ] addAll ( int [ ] array1 , int [ ] array2 ) { } public static long [ ] addAll ( long [ ] array1 , long [ ] array2 ) { } public static float [ ] addAll ( float [ ] array1 , float [ ] array2 ) { } public static double [ ] addAll ( double [ ] array1 , double [ ] array2 ) { } public static Object [ ] add ( Object [ ] array , Object element ) { } public static boolean [ ] add ( boolean [ ] array , boolean element ) { } public static byte [ ] add ( byte [ ] array , byte element ) { } public static char [ ] add ( char [ ] array , char element ) { } public static double [ ] add ( double [ ] array , double element ) { } public static float [ ] add ( float [ ] array , float element ) { } public static int [ ] add ( int [ ] array , int element ) { } public static long [ ] add ( long [ ] array , long element ) { } public static short [ ] add ( short [ ] array , short element ) { } private static Object copyArrayGrow1 ( Object array , Class newArrayComponentType ) { } public static Object [ ] add ( Object [ ] array , int index , Object element ) { } public static boolean [ ] add ( boolean [ ] array , int index , boolean element ) { <START_BUG> return ( ( boolean [ ] ) ( ArrayUtils . add ( array , index , new Boolean ( element ) , Boolean . TYPE ) ) ) ; <END_BUG> } public static char [ ] add ( char [ ] array , int index , char element ) { } public static byte [ ] add ( byte [ ] array , int index , byte element ) { } public static short [ ] add ( short [ ] array , int index , short element ) { } public static int [ ] add ( int [ ] array , int index , int element ) { } public static long [ ] add ( long [ ] array , int index , long element ) { } public static float [ ] add ( float [ ] array , int index , float element ) { } public static double [ ] add ( double [ ] array , int index , double element ) { } private static Object add ( Object array , int index , Object element , Class clss ) { } public static Object [ ] remove ( Object [ ] array , int index ) { } public static Object [ ] removeElement ( Object [ ] array , Object element ) { } public static boolean [ ] remove ( boolean [ ] array , int index ) { } public static boolean [ ] removeElement ( boolean [ ] array , boolean element ) { } public static byte [ ] remove ( byte [ ] array , int index ) { } public static byte [ ] removeElement ( byte [ ] array , byte element ) { } public static char [ ] remove ( char [ ] array , int index ) { } public static char [ ] removeElement ( char [ ] array , char element ) { } public static double [ ] remove ( double [ ] array , int index ) { } public static double [ ] removeElement ( double [ ] array , double element ) { }

Fix:
return ( ( boolean [ ] ) ( ArrayUtils . add ( array , index , BooleanUtils . toBooleanObject ( element ) , Boolean . TYPE ) ) ) ;