a simpler way to clean things is
( (DirectBuffer)buffer ).cleaner().clean();
yet a bad idea since it may not be implemented in some VMs.
edit
i also stopped using mapped buffers. ran into trouble with big files and out of memory issues. using streams in separated threads works out much better.