 throws SQLException {   checkTransaction();   try {    return new WrappedPreparedStatement(this, mc.prepareStatement(sql, resultSetType, resultSetConcurrency));   } catch (Throwable t) {    throw checkException(t);   }  }   public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency,    int resultSetHoldability) throws SQLException {   checkTransaction();   try {    return new WrappedPreparedStatement(this, mc.getConnection().prepareStatement(sql, resultSetType,      resultSetConcurrency, resultSetHoldability));   } catch (Throwable t) {    throw checkException(t);   }  }   public PreparedStatement prepareStatement(String sql, int 