Description
The brokered class tree still separates between the JDBC 2.0 functionality and JDBC 3.0. This leads to unnecessarily many levels of classes (for example, BrokeredPreparedStatement -> BrokeredPreparedStatement30 -> BrokeredStatement40). Another consequence is that BrokeredCallableStatement30 and BrokeredPreparedStatement30 don't have a common base class that could hold shared JDBC 3.0 methods (their common base class is BrokeredPreparedStatement, which is JDBC 2.0), and therefore new JDBC 3.0 PreparedStatement methods are duplicated in the two classes.
We should fold the JDBC 3.0 classes into the JDBC 2.0 classes so that we can reduce the number of classes and the duplication of code in the brokered statement sub-tree.