docs: private Statement createStatement(Connection con, boolean scrollable, int explicitFetchSizeHint)
          throws java.sql.SQLException
      {
          Statement result;
          try
          {
              // if necessary use JDBC1.0 methods
              if (!FORCEJDBC1_0)
              {
                  result =
                      con.createStatement(
                          scrollable
                              ? ResultSet.TYPE_SCROLL_INSENSITIVE
                              : ResultSet.TYPE_FORWARD_ONLY,
                          ResultSet.CONCUR_READ_ONLY);
                  afterJdbc2CapableStatementCreate(result, explicitFetchSizeHint);
              }
              else
              {
                  result = con.createStatement();
              }
          }
          catch (AbstractMethodError err)
          {
              // if a JDBC1.0 driver is used, the signature
              // createStatement(int, int) is  not defined.
              // we then call the JDBC1.0 variant createStatement()
              log.warn("Used driver seems not JDBC 2.0 compatible, use the JDBC 1.0 mode", err);
              result = con.createStatement();
              FORCEJDBC1_0 = true;
          }
          catch (SQLException eSql)
          {
              // there are JDBC Driver that nominally implement JDBC 2.0, but
              // throw DriverNotCapableExceptions. If we catch one of these
              // we force usage of JDBC 1.0
              if (eSql.getClass().getName()
                  .equals("interbase.interclient.DriverNotCapableException"))
              {
                  log.warn("JDBC 2.0 problems with this interbase driver, we use the JDBC 1.0 mode");
                  FORCEJDBC1_0 = true;
                  result = con.createStatement();
              }
              else
              {
                  throw eSql;
              }
          }
          try
          {
              platform.afterStatementCreate(result);
          }
          catch (PlatformException e)
          {
              log.error("Platform dependend failure", e);
          }
          return result;
      }