docs: public static ByteBuffer allocateDirectAligned(final int capacity, final int alignment)
      {
          if (!isPowerOfTwo(alignment))
          {
              throw new IllegalArgumentException("Must be a power of 2: alignment=" + alignment);
          }
  
          final ByteBuffer buffer = ByteBuffer.allocateDirect(capacity + alignment);
  
          final long address = address(buffer);
          final int remainder = (int)(address & (alignment - 1));
          final int offset = alignment - remainder;
  
          buffer.limit(capacity + offset);
          buffer.position(offset);
  
          return buffer.slice();
      }