I'm writing some apps in Cocoa using Java, which I love. However, I need to call into the Carbon Toolbox and have found the JDirect3 bridge libraries, but am confused about how to turn one datatype into another. I want to be able to call Carbon's IconServices API from Java, which is possible, but I then need to somehow translate an IconServices opaque IconRef into something like a javax.swing.ImageIcon for display in a JTable or inside of a Cocoa NSOutlineView as an NSImage. Is there any way I can get the raw bytes of the IconRef and then create a new NSImage or ImageIcon from it? I've looked through the IconServices API but no such function jumped out at me. Any help would be greatly appreciated.