PhantomReferenceによるファイナライザの置き換え

ファントムリファレンスで、ファイナライザの代わりを実装できるといわれていたが実装の仕方がよくわからなかった。
先日Commons IO FileCleanerのコードを偶々みたら、対象のオブジェクトがGCされる直前(厳密には違うかな)でファイルを消すという実装をファントムリファレンスで実装していました。
FileCleaner (Apache Commons IO 2.5-SNAPSHOT API)