What causes this IOException to occur?  Is it ok that we're returning null here instead of propagating an Exception?