code: public static MappedBytes allocate(File file, FileChannel.MapMode mode, long size) {
      if (file == null)
        throw new NullPointerException("file cannot be null");
      if (mode == null)
        mode = FileChannel.MapMode.READ_WRITE;
      if (size > Integer.MAX_VALUE)
        throw new IllegalArgumentException("size for MappedBytes cannot be greater than " + Integer.MAX_VALUE);
  
      RandomAccessFile randomAccessFile = createFile(file, mode);
      try {
        MappedByteBuffer buffer = randomAccessFile.getChannel().map(mode, 0, size);
        return new MappedBytes(file, randomAccessFile, buffer, mode);
      } catch (IOException e) {
        throw new CatalystIOException(e);
      }
    }
docs: Allocates a mapped buffer.
  <p>
  Memory will be mapped by opening and expanding the given {@link java.io.File} to the desired {@code count} and mapping the
  file contents into memory via {@link java.nio.channels.FileChannel#map(java.nio.channels.FileChannel.MapMode, long, long)}.
  
  @param file The file to map into memory. If the file doesn't exist it will be automatically created.
  @param mode The mode with which to map the file.
  @param size The count of the buffer to allocate (in bytes).
  @return The mapped buffer.
  @throws NullPointerException If {@code file} is {@code null}
  @throws IllegalArgumentException If {@code count} is greater than {@link Integer#MAX_VALUE}
  
  @see #allocate(java.io.File, long)