Return an InputStream for the content of an underlying resource.
It is expected that each call creates a fresh stream.
This requirement is particularly important when you consider an API such
as JavaMail, which needs to be able to read the stream multiple times when
creating mail attachments. For such a use case, it is required
that each getInputStream() call returns a fresh stream.
the input stream for the underlying resource (must not be null)
java.io.FileNotFoundException - if the underlying resource doesn't exist
java.io.IOException - if the content stream could not be opened