question: blocks are contiguous , so the next one is a potential candidate if its first word starts with the given prefix concode_field_sep ArrayList firstWordsInBlocks concode_elem_sep ArrayList firstFilesInBlocks concode_elem_sep boolean firstWordAdded concode_elem_sep int numFiles concode_elem_sep IndexedFile indexedFile concode_elem_sep int blockNum concode_elem_sep int numWords concode_elem_sep char[] word concode_elem_sep int firstWordBlockNum concode_field_sep int getBlockNumForFileNum concode_elem_sep void read concode_elem_sep int getBlockNumForWord concode_elem_sep int[] getAllBlockNums concode_elem_sep int compareWith concode_elem_sep int getNumFiles concode_elem_sep void addFirstFileInBlock concode_elem_sep int[] getBlockNumsForPrefix concode_elem_sep int getFirstBlockLocationForPrefix concode_elem_sep int getNumWords concode_elem_sep void setNumFiles concode_elem_sep void setNumWords concode_elem_sep int getBlockNum concode_elem_sep void addFirstWordInBlock concode_elem_sep String toString concode_elem_sep void write concode_elem_sep int getFirstWordBlockNum
target: int function ( char [ ] arg0 , int arg1 ) { if ( ++ arg1 < firstWordsInBlocks . size ( ) ) { FirstWordInBlock loc0 = ( FirstWordInBlock ) firstWordsInBlocks . get ( arg1 ) ; if ( CharOperation . prefixEquals ( arg0 , loc0 . word , true ) ) return arg1 ; } return - 1 ; }