Would not this exhibit more explicit control flow and ensure closing the JDBC resource?

```java
ResultSet res = null;
Result r = null;
try {
  Statement stmt = connection.createStatement();
  if (stmt.execute(query)) {
  	res = stmt.getResultSet();
  	r = new Result(res);
  	r.load();
  }			 
} catch (SQLException e) {
	  throw new ZeppelinDriverException(e);
} catch (ResultDataException e) {
	  throw new ZeppelinDriverException(e);
} finally {
    stmt.close();
}
return r;
```