@Override
  public byte []nextBuffer(int offset)
    throws IOException
  {
    if (offset < 0 || SIZE < offset) {
      throw new IllegalStateException(L.l("Invalid offset: " + offset));
    }
    
    if (_bufferCapacity <= SIZE
        || _bufferCapacity <= offset + _bufferSize) {
      _offset = offset;
      flushByteBuffer();

      return buffer();
    }
    else {
      _tBuf.length(offset);
      _bufferSize += offset;

      TempBuffer tempBuf = TempBuffer.create();
      _tBuf.next(tempBuf);
      _tBuf = tempBuf;

      _buffer = _tBuf.buffer();
      _offset = _startOffset;

      return _buffer;
    }
  }
@ Override public byte [ ] nextBuffer ( int offset ) throws IOException { if ( offset < 0 || SIZE < offset ) { throw new IllegalStateException ( L . l ( "Invalid offset: " + offset ) ) ; } if ( _bufferCapacity <= SIZE || _bufferCapacity <= offset + _bufferSize ) { _offset = offset ; flushByteBuffer ( ) ; return buffer ( ) ; } else { _tBuf . length ( offset ) ; _bufferSize += offset ; TempBuffer tempBuf = TempBuffer . create ( ) ; _tBuf . next ( tempBuf ) ; _tBuf = tempBuf ; _buffer = _tBuf . buffer ( ) ; _offset = _startOffset ; return _buffer ; } }
Returns the next byte buffer.