public int loadIndeces ( List < RowIndexEntry > rowIndexEntries , int startIndex ) { int updatedStartIndex = input . loadIndeces ( rowIndexEntries , startIndex ) ; int numIndeces = rowIndexEntries . size ( ) ; indeces = new int [ numIndeces + 1 ] ; int i = 0 ; for ( RowIndexEntry rowIndexEntry : rowIndexEntries ) { indeces [ i ] = ( int ) rowIndexEntry . getPositions ( updatedStartIndex ) ; i ++ ; } return updatedStartIndex + 1 ; }
Read in the number of bytes consumed at each index entry and store it also call loadIndeces on child stream and return the index of the next streams indexes .