code: public void writeDataBlock( int blockIndex , long blockOffset , byte[] blockData ) throws JournalException
      {
      	// Refuse any further operation in case of previous failure
      	if (failing)
      		throw new JournalException("Store journal is failing");
      	
          synchronized (journalWriteQueue)
          {
          	if (traceEnabled)
          		log.trace("["+baseName+"] #"+currentTransactionId+" Queueing data block write : ["+blockIndex+"] offset="+blockOffset+" size="+blockData.length+" / queueSize="+(journalWriteQueue.size()+1));
          	
          	DataBlockWriteOperation op = 
          		new DataBlockWriteOperation(currentTransactionId,
  		        							blockIndex, 
  		    		                        blockOffset, 
  		    		                        blockData);
              journalWriteQueue.addLast(op);
              unflushedJournalSize += op.size();
              totalPendingOperations++;
          }
      }
docs: Write a data block (asynchronous)