code: static void offsetCursor(Buffer sourceBuffer,
                                      Buffer destBuffer,
                                      int offsetX, int offsetY,
                                      int width, int height,
                                      int depth, int transparentPixel) {
          switch (depth) {
              case 32:
                  offsetCursor32((IntBuffer) sourceBuffer,
                                 (IntBuffer) destBuffer,
                                 offsetX, offsetY,
                                 width, height,
                                 transparentPixel);
                  break;
              case 16:
                  offsetCursor16((ShortBuffer) sourceBuffer,
                                 (ShortBuffer) destBuffer,
                                 offsetX, offsetY,
                                 width, height,
                                 transparentPixel);
                  break;
              default:
                  throw new UnsupportedOperationException();
          }
      }
docs: Creates a shifted version of the source cursor. Buffers must be
  ShortBuffers for a bit depth of 16 or IntBuffers for a bit depth of 32.
  
  @param sourceBuffer The original cursor to be shifted
  @param destBuffer A buffer to receive the shifted cursor
  @param offsetX the number of pixels the cursor is to be shifted right
  @param offsetY the number of pixels the cursor is to be shifted down
  @param width the pixel width of the cursor
  @param height the pixel height of the cursor
  @param depth the pixel depth of the cursor (16 or 32)
  @param transparentPixel the color key used for transparent pixels