We have too many nested try/catch/finally blocks here mixed with throws statements. Could we simplify this?