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