private void needNewBuffer(int newSize) {
        int delta = newSize - size;
        int newBufferSize = Math.max(minChunkLen, delta);

        currentBufferIndex++;
        currentBuffer = (E[]) new Object[newBufferSize];
        offset = 0;

        // add buffer
        if (currentBufferIndex >= buffers.length) {
            int newLen = buffers.length << 1;
            E[][] newBuffers = (E[][]) new Object[newLen][];
            System.arraycopy(buffers, 0, newBuffers, 0, buffers.length);
            buffers = newBuffers;
        }
        buffers[currentBufferIndex] = currentBuffer;
        buffersCount++;
    }
private void needNewBuffer(int newSize) {
        int delta = newSize - size;
        int newBufferSize = Math.max(minChunkLen, delta);

        currentBufferIndex++;
        currentBuffer = (E[]) new Object[newBufferSize];
        offset = 0;

        
        if (currentBufferIndex >= buffers.length) {
            int newLen = buffers.length << 1;
            E[][] newBuffers = (E[][]) new Object[newLen][];
            System.arraycopy(buffers, 0, newBuffers, 0, buffers.length);
            buffers = newBuffers;
        }
        buffers[currentBufferIndex] = currentBuffer;
        buffersCount++;
    }
private void needNewBuffer ( int newSize ) { int delta = newSize - size ; int newBufferSize = Math . max ( minChunkLen , delta ) ; currentBufferIndex ++ ; currentBuffer = ( E [ ] ) new Object [ newBufferSize ] ; offset = 0 ; // add buffer if ( currentBufferIndex >= buffers . length ) { int newLen = buffers . length << 1 ; E [ ] [ ] newBuffers = ( E [ ] [ ] ) new Object [ newLen ] [ ] ; System . arraycopy ( buffers , 0 , newBuffers , 0 , buffers . length ) ; buffers = newBuffers ; } buffers [ currentBufferIndex ] = currentBuffer ; buffersCount ++ ; }
Prepares next chunk to match new size.
The minimal length of new chunk is <code>minChunkLen</code>.
Prepares next chunk to match new size . The minimal length of new chunk is <code > minChunkLen< / code > .