ISPN-4555 Ensure streams are closed by FileDescriptorSource

* Also throw IOE for missing resource files instead of failing with NPE
API generics refinement