code: public PreparedStatement prepareStatement(final String sql) throws SQLException {
          if (parameterizedBatchHandlerFactory == null) {
              this.parameterizedBatchHandlerFactory = new DefaultParameterizedBatchHandlerFactory();
          }
          final String strippedQuery = Utils.stripQuery(sql);
          return new DrizzlePreparedStatement(protocol,
                  this,
                  strippedQuery,
                  queryFactory,
                  parameterizedBatchHandlerFactory.get(strippedQuery, protocol));
      }
docs: creates a new prepared statement. Only client side prepared statement emulation right now.
  
  @param sql the query.
  @return a prepared statement.
  @throws SQLException if there is a problem preparing the statement.