final Image ardorImage = new Image();
final TYPE bufferDataType = getBufferDataType(textureDataBuffer);
if (bufferDataType == null) {
throw new UnsupportedOperationException("Unknown buffer type " + textureDataBuffer.getClass().getName());
} else {
final int dataSizeInBytes = textureDataBuffer.capacity() * Buffers.sizeOfBufferElem(textureDataBuffer);
final ByteBuffer scratch = createOnHeap ? BufferUtils.createByteBufferOnHeap(dataSizeInBytes) : Buffers
.newDirectByteBuffer(dataSizeInBytes);
if (flipped) {
flipImageData(textureDataBuffer, scratch, dataSizeInBytes, bufferDataType, textureData.getWidth(),
textureData.getHeight());