final byte[] addBuffer(int size) {
    
byte[] buffer = new byte[size];
    
if (directory!=null)
      
synchronized (directory) {             // Ensure addition of buffer and adjustment to directory size are atomic wrt directory
        buffers.add(buffer);
        directory.sizeInBytes 
+= size;
        sizeInBytes 
+= size;
      }

    
else
      buffers.add(buffer);
    
return buffer;
  }