code: public final void migrateTo(MemoryAllocator newMalloc) {
          baseAddress = move(baseAddress, capacity(), malloc, newMalloc);
          malloc = newMalloc;
          auxMalloc = null;
      }
docs: Migrates the backing memory region to a new allocator, freeing the current region. Memory allocated by the
  new allocator must be accessible by the same accessor as the current one.