private void InitBlock()
{
maxFieldLength = IndexWriter.DEFAULT_MAX_FIELD_LENGTH;
maxBufferedDeleteTerms = IndexWriter.DEFAULT_MAX_BUFFERED_DELETE_TERMS;
ramBufferSize = (long) (IndexWriter.DEFAULT_RAM_BUFFER_SIZE_MB * 1024 * 1024);
waitQueuePauseBytes = (long) (ramBufferSize * 0.1);
waitQueueResumeBytes = (long) (ramBufferSize * 0.05);
freeTrigger = (long) (IndexWriter.DEFAULT_RAM_BUFFER_SIZE_MB * 1024 * 1024 * 1.05);
freeLevel = (long) (IndexWriter.DEFAULT_RAM_BUFFER_SIZE_MB * 1024 * 1024 * 0.95);
maxBufferedDocs = IndexWriter.DEFAULT_MAX_BUFFERED_DOCS;
skipDocWriter = new SkipDocWriter();
byteBlockAllocator = new ByteBlockAllocator(this, DocumentsWriter.BYTE_BLOCK_SIZE);
perDocAllocator = new ByteBlockAllocator(this,DocumentsWriter.PER_DOC_BLOCK_SIZE);
waitQueue = new WaitQueue(this);
}