docs: @Override
      public int getHoldability(Connection conn) throws SQLException {
          int holdability = 0;
  
          if (tc.isDebugEnabled())
              Tr.debug(this, tc, "getHoldability",
                       AdapterUtil.toString(conn));
  
          try {
              if (holdabilitySupported) 
              {
                  holdability = conn.getHoldability();
                  return holdability;
              }
              return 0; // return 0 if holdability is not supported 
          } catch (AbstractMethodError ame) {
              // No FFDC needed
              // This JDBC driver doesn't support Connection.getCursorHoldability().
              if (tc.isDebugEnabled())
                  Tr.debug(this, tc, "getHoldability",
                           "getHoldability is not supported in this JDBC driver. Encounter a java.lang.AbstractMethodError");
              holdabilitySupported = false; // holdability is not supported 
              return 0;
          } catch (SQLException sqle) {
              // No FFDC needed
  
              // Check the error code
              if (sqle.getErrorCode() == 17023) {
                  // SQLException with error code 17023 is the exception 
                  // java.sql.SQLException: Unsupported feature
                  if (tc.isDebugEnabled())
                      Tr.debug(this, tc, "getHoldability",
                               "getHoldability is not supported in this JDBC driver. Encounter a java.sql.SQLException: " + sqle.getMessage());
                  holdabilitySupported = false; // holdability is not supported    
                  return 0;
              } else {
                  // Something wrong with the connection.
                  throw sqle;
              }
          }
      }