//System.out.println("XXX FITSImage: using BufferedFile");
long headerSize = _header.getSize();
long offset = _hdu.getFileOffset() + headerSize;
long size = _hdu.getSize() - headerSize;
//System.out.println("XXX FITSImage: HDU offset = " + offset + ", size = " + size);
BufferedFile bufferedFile = (BufferedFile) arrayDataInput;
FileChannel channel = bufferedFile.getChannel();
System.gc(); // XXX got out of memory errors here
_byteBuffer = channel.map(FileChannel.MapMode.READ_ONLY, offset, size);
//System.out.println("XXX FITSImage: got byteBuffer");
} else {
//System.out.println("XXX FITSImage: no byteBuffer access");