If the first `close()` call fails, none of the rest will be closed. I think there should be an additional (ugly) `finally {}` block, too.