code: private void putNodeToStore(final Node<K, V> node) {
  		final int nodeid = node.id;
  		final int index = (nodeid < 0 ? -nodeid : nodeid);
  		final WriteBuffer wbuf = storage.set(index);
  		final ByteBuffer buf = wbuf.buf();
  		if (node.isDeleted()) { 	// This block is for delete
  			if (cleanBlocksOnFree) {
  				buf.clear();
  				int cx = (blockSize >> 3); // division by 8
  				while (cx-- > 0) {
  					buf.putLong(0);	// Fill with zeroes
  				}
  				buf.flip();
  			} else {
  				node.clean(buf); 	// Generate zeroed minimal buffer
  			}
  			freeBlocks.set(index); 	// Mark block as free
  		} else {
  			node.serialize(buf);
  		}
  		wbuf.save();
  		if (enableDirtyCheck) {
  			dirtyCheck.clear(index);
  		}
  		if (enableIOStats) {
  			getIOStat(nodeid).incPhysWrite();
  		}
  	}
docs: Put a node in file
  
  @param node