@NotNull
 private static NativeBytesStore<Void> of(long capacity, boolean zeroOut, boolean elastic)
     throws IllegalArgumentException {
   Memory memory = OS.memory();
   long address = memory.allocate(capacity);
   if (zeroOut || capacity < MEMORY_MAPPED_SIZE) {
     memory.setMemory(address, capacity, (byte) 0);
     memory.storeFence();
   }
   Deallocator deallocator = new Deallocator(address, capacity);
   return new NativeBytesStore<>(address, capacity, deallocator, elastic);
 }