Buggy code:
public final class CharOperation { public static final char [ ] [ ] arrayConcat ( char [ ] [ ] first , char [ ] [ ] second ) { } public static final char [ ] [ ] arrayConcat ( char [ ] [ ] first , char [ ] second ) { } public static final char [ ] concat ( char [ ] first , char [ ] second ) { } public static final char [ ] concat ( char [ ] first , char [ ] second , char [ ] third ) { } public static final char [ ] concat ( char [ ] first , char [ ] second , char separator ) { } public static final char [ ] concat ( char [ ] first , char sep1 , char [ ] second , char sep2 , char [ ] third ) { } public static final char [ ] concat ( char prefix , char [ ] array , char suffix ) { } public static final char [ ] concatWith ( char [ ] name , char [ ] [ ] array , char separator ) { } public static final char [ ] concatWith ( char [ ] [ ] array , char [ ] name , char separator ) { } public static final char [ ] concatWith ( char [ ] [ ] array , char separator ) { } public static final boolean contains ( char character , char [ ] [ ] array ) { } public static final boolean contains ( char character , char [ ] array ) { } public static final char [ ] [ ] deepCopy ( char [ ] [ ] toCopy ) { } public static final boolean endsWith ( char [ ] array , char [ ] toBeFound ) { } public static final boolean equals ( char [ ] [ ] first , char [ ] [ ] second ) { } public static final boolean equals ( char [ ] [ ] first , char [ ] [ ] second , boolean isCaseSensitive ) { } public static final boolean equals ( char [ ] first , char [ ] second ) { } public static final boolean equals ( char [ ] first , char [ ] second , boolean isCaseSensitive ) { } public static final boolean fragmentEquals ( char [ ] fragment , char [ ] name , int startIndex , boolean isCaseSensitive ) { } public static final int hashCode ( char [ ] array ) { } public static final int indexOf ( char toBeFound , char [ ] array ) { } public static final int indexOf ( char toBeFound , char [ ] array , int start ) { } public static final int lastIndexOf ( char toBeFound , char [ ] array ) { } public static final int lastIndexOf ( char toBeFound , char [ ] array , int startIndex ) { } public static final int lastIndexOf ( char toBeFound , char [ ] array , int startIndex , int endIndex ) { } public static final char [ ] lastSegment ( char [ ] array , char separator ) { } public static final boolean match ( char [ ] pattern , char [ ] name , boolean isCaseSensitive ) { } public static final int occurencesOf ( char toBeFound , char [ ] array ) { } public static final int occurencesOf ( char toBeFound , char [ ] array , int start ) { } public static final boolean prefixEquals ( char [ ] prefix , char [ ] name ) { } public static final boolean prefixEquals ( char [ ] prefix , char [ ] name , boolean isCaseSensitive ) { } public static final void replace ( char [ ] array , char toBeReplaced , char replacementChar ) { } public static final char [ ] replace ( char [ ] array , char [ ] toBeReplaced , char [ ] replacementChars ) { } public static final char [ ] [ ] splitOn ( char divider , char [ ] array ) { } public static final char [ ] [ ] splitOn ( char divider , char [ ] array , int start , int end ) { int length = ( array == null ) ? 0 : array . length ; <START_BUG> if ( length == 0 ) <END_BUG> return NoCharChar ; int wordCount = 1 ; for ( int i = start ; i < end ; i ++ ) if ( ( array [ i ] ) == divider ) wordCount ++ ; char [ ] [ ] split = new char [ wordCount ] [ ] ; int last = start ; int currentWord = 0 ; for ( int i = start ; i < end ; i ++ ) { if ( ( array [ i ] ) == divider ) { split [ currentWord ] = new char [ i - last ] ; System . arraycopy ( array , last , split [ ( currentWord ++ ) ] , 0 , ( i - last ) ) ; last = i + 1 ; } } split [ currentWord ] = new char [ ( end - last ) + 1 ] ; System . arraycopy ( array , last , split [ currentWord ] , 0 , ( ( end - last ) + 1 ) ) ; return split ; } public static final boolean startsWith ( char [ ] array , char [ ] toBeFound ) { } public static final char [ ] [ ] subarray ( char [ ] [ ] array , int start , int end ) { }

Fix:
if ( ( length == 0 ) || ( start > end ) )