FileInputStream relies on finalization to perform final closes if the FIS is not already closed.
This results in extra work for GC that occurs in a burst. The cleanup of FileInputStreams
should happen sooner and not contribute to overhead in GC.
With PhantomReferences a lightweight cleanup mechanism or other suitable mechanism could be implemented.