Don't quite understand how InputStream.read( byte[], int, int ) works
===

I know this is trivial, but it doesn't make sense to me. Java can't pass pointers/references as parameters, yet the read() function is passed a `buffer into which the data is read`, and only returns an int as `the total number of bytes read into the buffer`. 

I am expecting to read five separate bytes from this device, but when I pass the function a buffer, and try to access it afterwards it continues to be `null`. If I print out the return value from the function it gives me the `int 5`, which is expected. But how can I access the data which was actually put into the buffer?

Here is a link to the [JavaDocs](http://docs.oracle.com/javase/1.4.2/docs/api/java/io/InputStream.html)....