docs: private static BufferedImage rgbToBuffered(MagickImage pImage, boolean pAlpha) throws MagickException {
          Dimension size = pImage.getDimension();
          int length = size.width * size.height;
          int bands = pAlpha ? 4 : 3;
          byte[] pixels = new byte[length * bands];
  
          // TODO: If we do multiple dispatches (one per line, typically), we could provide listener
          //       feedback. But it's currently a lot slower than fetching all the pixels in one go.
  
          // Note: The ordering ABGR or BGR corresponds to BufferedImage
          // TYPE_4BYTE_ABGR and TYPE_3BYTE_BGR respectively
          pImage.dispatchImage(0, 0, size.width, size.height, pAlpha ? "ABGR" : "BGR", pixels);
  
          // Init databuffer with array, to avoid allocation of empty array
          DataBuffer buffer = new DataBufferByte(pixels, pixels.length);
  
          int[] bandOffsets = pAlpha ? BAND_OFF_TRANS : BAND_OFF_OPAQUE;
  
          WritableRaster raster =
                  Raster.createInterleavedRaster(buffer, size.width, size.height,
                          size.width * bands, bands, bandOffsets, LOCATION_UPPER_LEFT);
  
          return new BufferedImage(pAlpha ? CM_COLOR_ALPHA : CM_COLOR_OPAQUE, raster, pAlpha, null);
      }