public class com.microsoft.sqlserver.jdbc.SQLServerConnection implements com.microsoft.sqlserver.jdbc.ISQLServerConnection, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.SQLServerConnection
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1965647556064751510

  long timerExpire;
    descriptor: J
    flags: (0x0000) 

  boolean attemptRefreshTokenLocked;
    descriptor: Z
    flags: (0x0000) 

  static final int DEFAULT_SERVER_PREPARED_STATEMENT_DISCARD_THRESHOLD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private int serverPreparedStatementDiscardThreshold;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  static final boolean DEFAULT_ENABLE_PREPARE_ON_FIRST_PREPARED_STATEMENT_CALL;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private java.lang.Boolean enablePrepareOnFirstPreparedStatementCall;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.util.concurrent.ConcurrentLinkedQueue<com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle> discardedPreparedStatementHandles;
    descriptor: Ljava/util/concurrent/ConcurrentLinkedQueue;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/concurrent/ConcurrentLinkedQueue<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;>;

  private java.util.concurrent.atomic.AtomicInteger discardedPreparedStatementHandleCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider keystoreProvider;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0002) ACC_PRIVATE

  private boolean fedAuthRequiredByUser;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean fedAuthRequiredPreLoginResponse;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean federatedAuthenticationRequested;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean federatedAuthenticationInfoRequested;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLServerConnection$FederatedAuthenticationFeatureExtensionData fedAuthFeatureExtensionData;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$FederatedAuthenticationFeatureExtensionData;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String authenticationString;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private byte[] accessTokenInByte;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SqlFedAuthToken fedAuthToken;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SqlFedAuthToken;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String originalHostNameInCertificate;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientCertificate;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientKey;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String clientKeyPassword;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String aadPrincipalID;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String aadPrincipalSecret;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean sendTemporalDataTypesAsStringForBulkCopy;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  final int ENGINE_EDITION_FOR_SQL_AZURE;
    descriptor: I
    flags: (0x0010) ACC_FINAL
    ConstantValue: 5

  final int ENGINE_EDITION_FOR_SQL_AZURE_DW;
    descriptor: I
    flags: (0x0010) ACC_FINAL
    ConstantValue: 6

  final int ENGINE_EDITION_FOR_SQL_AZURE_MI;
    descriptor: I
    flags: (0x0010) ACC_FINAL
    ConstantValue: 8

  private java.lang.Boolean isAzure;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean isAzureDW;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean isAzureMI;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SharedTimer sharedTimer;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SharedTimer;
    flags: (0x0002) ACC_PRIVATE

  private static final int PARSED_SQL_CACHE_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap<com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem> parsedSQLCache;
    descriptor: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;>;

  static final int DEFAULT_STATEMENT_POOLING_CACHE_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private int statementPoolingCacheSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap<com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, com.microsoft.sqlserver.jdbc.SQLServerConnection$PreparedStatementHandle> preparedStatementHandleCache;
    descriptor: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$PreparedStatementHandle;>;

  private mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap<com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, com.microsoft.sqlserver.jdbc.SQLServerParameterMetaData> parameterMetadataCache;
    descriptor: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap<Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Lcom/microsoft/sqlserver/jdbc/SQLServerParameterMetaData;>;

  private boolean disableStatementPooling;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static final float TIMEOUTSTEP;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.08

  private static final float TIMEOUTSTEP_TNIR;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.125

  static final int TnirFirstAttemptTimeoutMs;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 500

  private static final int INTERMITTENT_TLS_MAX_RETRY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private boolean isRoutedInCurrentAttempt;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder routingInfo;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String callAbortPerm;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "callAbort"

  private static final java.lang.String SET_NETWORK_TIMEOUT_PERM;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "setNetworkTimeout"

  private boolean sendStringParametersAsUnicode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String hostName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean lastUpdateCount;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean serverNameAsACE;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean multiSubnetFailover;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean transparentNetworkIPResolution;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.ApplicationIntent applicationIntent;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
    flags: (0x0002) ACC_PRIVATE

  private int nLockTimeout;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String selectMethod;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String responseBuffering;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int queryTimeoutSeconds;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int cancelQueryTimeoutSeconds;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int socketTimeoutMilliseconds;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean useBulkCopyForBatchInsert;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  boolean userSetTNIR;
    descriptor: Z
    flags: (0x0000) 

  private boolean sendTimeAsDatetime;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean useFmtOnly;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte requestedEncryptionLevel;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private boolean trustServerCertificate;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte negotiatedEncryptionLevel;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String socketFactoryClass;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String socketFactoryConstructorArg;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String trustManagerClass;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String trustManagerConstructorArg;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static final java.lang.String RESERVED_PROVIDER_NAME_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "MSSQL_"

  java.lang.String columnEncryptionSetting;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String enclaveAttestationUrl;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String enclaveAttestationProtocol;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStoreAuthentication;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStoreSecret;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStoreLocation;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String keyStorePrincipalId;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  private com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion serverColumnEncryptionVersion;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String enclaveType;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean serverSupportsDataClassification;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte serverSupportedDataClassificationVersion;
    descriptor: B
    flags: (0x0002) ACC_PRIVATE

  private boolean serverSupportsDNSCaching;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private static java.util.concurrent.ConcurrentHashMap<java.lang.String, java.net.InetSocketAddress> dnsCache;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/net/InetSocketAddress;>;

  private boolean delayLoadingLobs;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider> globalSystemColumnEncryptionKeyStoreProviders;
    descriptor: Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;

  static java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider> globalCustomColumnEncryptionKeyStoreProviders;
    descriptor: Ljava/util/Map;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;

  java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider> systemColumnEncryptionKeyStoreProvider;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;

  private java.lang.String trustedServerNameAE;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> columnEncryptionTrustedMasterKeyPaths;
    descriptor: Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

  java.util.Properties activeConnectionProperties;
    descriptor: Ljava/util/Properties;
    flags: (0x0000) 

  private boolean integratedSecurity;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean ntlmAuthentication;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte[] ntlmPasswordHash;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.AuthenticationScheme intAuthScheme;
    descriptor: Lcom/microsoft/sqlserver/jdbc/AuthenticationScheme;
    flags: (0x0002) ACC_PRIVATE

  private org.ietf.jgss.GSSCredential impersonatedUserCred;
    descriptor: Lorg/ietf/jgss/GSSCredential;
    flags: (0x0002) ACC_PRIVATE

  private boolean isUserCreatedCredential;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder currentConnectPlaceHolder;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
    flags: (0x0000) 

  java.lang.String sqlServerVersion;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  boolean xopenStates;
    descriptor: Z
    flags: (0x0000) 

  private boolean databaseAutoCommitMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean inXATransaction;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private byte[] transactionDescriptor;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private boolean rolledBackTransaction;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private volatile com.microsoft.sqlserver.jdbc.SQLServerConnection$State state;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static final int maxDecimalPrecision;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 38

  static final int defaultDecimalPrecision;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  final java.lang.String traceID;
    descriptor: Ljava/lang/String;
    flags: (0x0010) ACC_FINAL

  private int maxFieldSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int maxRows;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLCollation databaseCollation;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLCollation;
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.concurrent.atomic.AtomicInteger baseConnectionID;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.lang.String sCatalog;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String originalCatalog;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int transactionIsolationLevel;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLServerPooledConnection pooledConnectionParent;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerPooledConnection;
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLServerDatabaseMetaData databaseMetaData;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerDatabaseMetaData;
    flags: (0x0002) ACC_PRIVATE

  private int nNextSavePointId;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.logging.Logger connectionlogger;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.logging.Logger loggerExternal;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.lang.String loggingClassName;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.lang.String failoverPartnerServerProvided;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int holdability;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int tdsPacketSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int requestedPacketSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.TDSChannel tdsChannel;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSChannel;
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.TDSCommand currentCommand;
    descriptor: Lcom/microsoft/sqlserver/jdbc/TDSCommand;
    flags: (0x0002) ACC_PRIVATE

  private int tdsVersion;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int serverMajorVersion;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolProxy proxy;
    descriptor: Lcom/microsoft/sqlserver/jdbc/SQLServerConnectionPoolProxy;
    flags: (0x0002) ACC_PRIVATE

  private java.util.UUID clientConnectionId;
    descriptor: Ljava/util/UUID;
    flags: (0x0002) ACC_PRIVATE

  static final int MAX_SQL_LOGIN_NAME_WCHARS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  static final int DEFAULTPORT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final transient java.lang.Object schedulerLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  volatile java.sql.SQLWarning sqlWarnings;
    descriptor: Ljava/sql/SQLWarning;
    flags: (0x0040) ACC_VOLATILE

  private final java.lang.Object warningSynchronization;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int ENVCHANGE_DATABASE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int ENVCHANGE_LANGUAGE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int ENVCHANGE_CHARSET;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int ENVCHANGE_PACKETSIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final int ENVCHANGE_SORTLOCALEID;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int ENVCHANGE_SORTFLAGS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  private static final int ENVCHANGE_SQLCOLLATION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  private static final int ENVCHANGE_XACT_BEGIN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private static final int ENVCHANGE_XACT_COMMIT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final int ENVCHANGE_XACT_ROLLBACK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int ENVCHANGE_DTC_ENLIST;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  private static final int ENVCHANGE_DTC_DEFECT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int ENVCHANGE_CHANGE_MIRROR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  private static final int ENVCHANGE_UNUSED_14;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 14

  private static final int ENVCHANGE_DTC_PROMOTE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 15

  private static final int ENVCHANGE_DTC_MGR_ADDR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  private static final int ENVCHANGE_XACT_ENDED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 17

  private static final int ENVCHANGE_RESET_COMPLETE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 18

  private static final int ENVCHANGE_USER_INFO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 19

  private static final int ENVCHANGE_ROUTING;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  private boolean requestStarted;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean originalDatabaseAutoCommitMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int originalTransactionIsolationLevel;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int originalNetworkTimeout;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int originalHoldability;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean originalSendTimeAsDatetime;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int originalStatementPoolingCacheSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean originalDisableStatementPooling;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int originalServerPreparedStatementDiscardThreshold;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Boolean originalEnablePrepareOnFirstPreparedStatementCall;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String originalSCatalog;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean originalUseBulkCopyForBatchInsert;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private volatile java.sql.SQLWarning originalSqlWarnings;
    descriptor: Ljava/sql/SQLWarning;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.util.List<com.microsoft.sqlserver.jdbc.ISQLServerStatement> openStatements;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/microsoft/sqlserver/jdbc/ISQLServerStatement;>;

  private boolean originalUseFmtOnly;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean originalDelayLoadingLobs;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  int aeVersion;
    descriptor: I
    flags: (0x0000) 

  static final char[] OUT;
    descriptor: [C
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final int BROWSER_PORT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1434

  private static long columnEncryptionKeyCacheTtl;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private com.microsoft.sqlserver.jdbc.ISQLServerEnclaveProvider enclaveProvider;
    descriptor: Lcom/microsoft/sqlserver/jdbc/ISQLServerEnclaveProvider;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$KeyStoreAuthentication;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$com$microsoft$sqlserver$jdbc$SqlAuthentication;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 85
            ldc Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
         3: .line 323
            new mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder
            dup
            invokespecial mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.<init>:()V
         4: .line 324
            ldc 100
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.maximumWeightedCapacity:(J)Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder;
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder.build:()Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         5: .line 323
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.parsedSQLCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
         6: .line 699
            aconst_null
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
         7: .line 722
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         8: .line 724
            ldc "os.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "windows"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 725
            new com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider
            dup
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider.<init>:()V
            astore 0 /* provider */
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider provider
        10: .line 726
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 0 /* provider */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider.getName:()Ljava/lang/String;
            aload 0 /* provider */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionCertificateStoreProvider provider
        11: .line 729
      StackMap locals:
      StackMap stack:
            aconst_null
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
        12: .line 864
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
        13: .line 1060
            new java.util.concurrent.atomic.AtomicInteger
            dup
            iconst_0
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.baseConnectionID:Ljava/util/concurrent/atomic/AtomicInteger;
        14: .line 1072
            ldc "com.microsoft.sqlserver.jdbc.internals.SQLServerConnection"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
        15: .line 1071
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionlogger:Ljava/util/logging/Logger;
        16: .line 1074
            ldc "com.microsoft.sqlserver.jdbc.Connection"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
        17: .line 1073
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
        18: .line 1075
            ldc "com.microsoft.sqlserver.jdbc.SQLServerConnection:"
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
        19: .line 2649
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.PORT_NUMBER:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverIntProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverIntProperty.getDefaultValue:()I
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.DEFAULTPORT:I
        20: .line 6043
            iconst_4
            newarray 5
            dup
            iconst_0
            bipush 32
            castore
            dup
            iconst_1
            bipush 79
            castore
            dup
            iconst_2
            bipush 85
            castore
            dup
            iconst_3
            bipush 84
            castore
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.OUT:[C
        21: .line 6271
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            ldc 2
            getstatic java.util.concurrent.TimeUnit.HOURS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionKeyCacheTtl:J
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
           10   11     0  provider  Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionCertificateStoreProvider;

  com.microsoft.sqlserver.jdbc.SharedTimer getSharedTimer();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 162
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.state:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection$State.Closed:Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$State;
            if_acmpne 4
         1: .line 163
            aconst_null
            aconst_null
            ldc "R_connectionIsClosed"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 164
            ldc "08006"
            iconst_0
         3: .line 163
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         4: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            ifnonnull 6
         5: .line 167
            aload 0 /* this */
            invokestatic com.microsoft.sqlserver.jdbc.SharedTimer.getTimer:()Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
         6: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sharedTimer:Lcom/microsoft/sqlserver/jdbc/SharedTimer;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException

  java.lang.String getServerNameString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String serverName
         0: .line 179
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.activeConnectionProperties:Ljava/util/Properties;
         1: .line 180
            getstatic com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.SERVER_NAME:Lcom/microsoft/sqlserver/jdbc/SQLServerDriverStringProperty;
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerDriverStringProperty.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 179
            astore 2 /* serverNameFromConnectionStr */
        start local 2 // java.lang.String serverNameFromConnectionStr
         3: .line 181
            aload 1 /* serverName */
            ifnull 4
            aload 1 /* serverName */
            aload 2 /* serverNameFromConnectionStr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 182
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* serverName */
            areturn
         5: .line 186
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
            ldc "R_redirectedFrom"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
         6: .line 187
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* serverName */
            aastore
            dup
            iconst_1
            aload 2 /* serverNameFromConnectionStr */
            aastore
            astore 4 /* msgArgs */
        start local 4 // java.lang.Object[] msgArgs
         7: .line 188
            aload 3 /* form */
            aload 4 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.Object[] msgArgs
        end local 3 // java.text.MessageFormat form
        end local 2 // java.lang.String serverNameFromConnectionStr
        end local 1 // java.lang.String serverName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    8     0                         this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    8     1                   serverName  Ljava/lang/String;
            3    8     2  serverNameFromConnectionStr  Ljava/lang/String;
            6    8     3                         form  Ljava/text/MessageFormat;
            7    8     4                      msgArgs  [Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      serverName  

  static com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem getCachedParsedSQL(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;)Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
         0: .line 329
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.parsedSQLCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 0 /* key */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
    MethodParameters:
      Name  Flags
      key   

  static com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem parseAndCacheSQL(com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key, java.lang.String);
    descriptor: (Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
        start local 1 // java.lang.String sql
         0: .line 334
            new com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator
            dup
            invokespecial com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.<init>:()V
            astore 2 /* translator */
        start local 2 // com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator translator
         1: .line 336
            aload 2 /* translator */
            aload 1 /* sql */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.translate:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* parsedSql */
        start local 3 // java.lang.String parsedSql
         2: .line 337
            aload 2 /* translator */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.getProcedureName:()Ljava/lang/String;
            astore 4 /* procName */
        start local 4 // java.lang.String procName
         3: .line 338
            aload 2 /* translator */
            invokevirtual com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator.hasReturnValueSyntax:()Z
            istore 5 /* returnValueSyntax */
        start local 5 // boolean returnValueSyntax
         4: .line 339
            aload 3 /* parsedSql */
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerConnection.locateParams:(Ljava/lang/String;)[I
            astore 6 /* parameterPositions */
        start local 6 // int[] parameterPositions
         5: .line 341
            new com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem
            dup
            aload 3 /* parsedSql */
            aload 6 /* parameterPositions */
            aload 4 /* procName */
         6: .line 342
            iload 5 /* returnValueSyntax */
         7: .line 341
            invokespecial com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem.<init>:(Ljava/lang/String;[ILjava/lang/String;Z)V
            astore 7 /* cacheItem */
        start local 7 // com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem cacheItem
         8: .line 343
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.parsedSQLCache:Lmssql/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap;
            aload 0 /* key */
            aload 7 /* cacheItem */
            invokevirtual mssql.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 344
            aload 7 /* cacheItem */
            areturn
        end local 7 // com.microsoft.sqlserver.jdbc.ParsedSQLCacheItem cacheItem
        end local 6 // int[] parameterPositions
        end local 5 // boolean returnValueSyntax
        end local 4 // java.lang.String procName
        end local 3 // java.lang.String parsedSql
        end local 2 // com.microsoft.sqlserver.jdbc.JDBCSyntaxTranslator translator
        end local 1 // java.lang.String sql
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection$CityHash128Key key
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                 key  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection$CityHash128Key;
            0   10     1                 sql  Ljava/lang/String;
            1   10     2          translator  Lcom/microsoft/sqlserver/jdbc/JDBCSyntaxTranslator;
            2   10     3           parsedSql  Ljava/lang/String;
            3   10     4            procName  Ljava/lang/String;
            4   10     5   returnValueSyntax  Z
            5   10     6  parameterPositions  [I
            8   10     7           cacheItem  Lcom/microsoft/sqlserver/jdbc/ParsedSQLCacheItem;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      key   
      sql   

  private static int[] locateParams(java.lang.String);
    descriptor: (Ljava/lang/String;)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String sql
         0: .line 369
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 1 /* parameterPositions */
        start local 1 // java.util.LinkedList parameterPositions
         1: .line 372
            iconst_m1
            istore 2 /* offset */
        start local 2 // int offset
         2: .line 373
            goto 4
         3: .line 374
      StackMap locals: java.util.LinkedList int
      StackMap stack:
            aload 1 /* parameterPositions */
            iload 2 /* offset */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 373
      StackMap locals:
      StackMap stack:
            bipush 63
            aload 0 /* sql */
            iinc 2 /* offset */ 1
            iload 2 /* offset */
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.scanSQLForChar:(CLjava/lang/String;I)I
            dup
            istore 2 /* offset */
            aload 0 /* sql */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
         5: .line 378
            aload 1 /* parameterPositions */
            invokevirtual java.util.LinkedList.stream:()Ljava/util/stream/Stream;
            invokedynamic applyAsInt()Ljava/util/function/ToIntFunction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)I
                  java/lang/Integer.valueOf(I)Ljava/lang/Integer; (6)
                  (Ljava/lang/Integer;)I
            invokeinterface java.util.stream.Stream.mapToInt:(Ljava/util/function/ToIntFunction;)Ljava/util/stream/IntStream;
            invokeinterface java.util.stream.IntStream.toArray:()[I
            areturn
        end local 2 // int offset
        end local 1 // java.util.LinkedList parameterPositions
        end local 0 // java.lang.String sql
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                 sql  Ljava/lang/String;
            1    6     1  parameterPositions  Ljava/util/LinkedList<Ljava/lang/Integer;>;
            2    6     2              offset  I
    MethodParameters:
      Name  Flags
      sql   

  com.microsoft.sqlserver.jdbc.ServerPortPlaceHolder getRoutingInfo();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 484
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.routingInfo:Lcom/microsoft/sqlserver/jdbc/ServerPortPlaceHolder;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean sendStringParametersAsUnicode();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 499
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendStringParametersAsUnicode:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean useLastUpdateCount();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 505
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.lastUpdateCount:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean serverNameAsACE();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 515
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverNameAsACE:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean getMultiSubnetFailover();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 522
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.multiSubnetFailover:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean getTransparentNetworkIPResolution();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 528
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.transparentNetworkIPResolution:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final com.microsoft.sqlserver.jdbc.ApplicationIntent getApplicationIntent();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 534
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.applicationIntent:Lcom/microsoft/sqlserver/jdbc/ApplicationIntent;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getSelectMethod();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 541
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.selectMethod:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getResponseBuffering();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 547
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.responseBuffering:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getQueryTimeoutSeconds();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 553
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.queryTimeoutSeconds:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getCancelQueryTimeoutSeconds();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 567
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.cancelQueryTimeoutSeconds:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int getSocketTimeoutMilliseconds();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 573
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketTimeoutMilliseconds:I
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public boolean getUseBulkCopyForBatchInsert();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 587
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useBulkCopyForBatchInsert:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setUseBulkCopyForBatchInsert(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean useBulkCopyForBatchInsert
         0: .line 597
            aload 0 /* this */
            iload 1 /* useBulkCopyForBatchInsert */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.useBulkCopyForBatchInsert:Z
         1: .line 598
            return
        end local 1 // boolean useBulkCopyForBatchInsert
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    2     0                       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1  useBulkCopyForBatchInsert  Z
    MethodParameters:
                           Name  Flags
      useBulkCopyForBatchInsert  

  public final boolean getSendTimeAsDatetime();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 607
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.isKatmaiOrLater:()Z
            ifeq 1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTimeAsDatetime:Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final int baseYear();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 611
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSendTimeAsDatetime:()Z
            ifeq 1
            sipush 1970
            goto 2
      StackMap locals:
      StackMap stack:
         1: sipush 1900
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final byte getRequestedEncryptionLevel();
    descriptor: ()B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 617
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final boolean trustServerCertificate();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 624
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustServerCertificate:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final byte getNegotiatedEncryptionLevel();
    descriptor: ()B
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 630
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.negotiatedEncryptionLevel:B
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getSocketFactoryClass();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 637
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryClass:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getSocketFactoryConstructorArg();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 643
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.socketFactoryConstructorArg:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getTrustManagerClass();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 649
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerClass:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  final java.lang.String getTrustManagerConstructorArg();
    descriptor: ()Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 656
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.$assertionsDisabled:Z
            ifne 1
            iconst_m1
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.requestedEncryptionLevel:B
            if_icmpne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.trustManagerConstructorArg:Ljava/lang/String;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean isColumnEncryptionSettingEnabled();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 664
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionSetting:Ljava/lang/String;
            getstatic com.microsoft.sqlserver.jdbc.ColumnEncryptionSetting.Enabled:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionSetting;
            invokevirtual com.microsoft.sqlserver.jdbc.ColumnEncryptionSetting.toString:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean getSendTemporalDataTypesAsStringForBulkCopy();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 668
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.sendTemporalDataTypesAsStringForBulkCopy:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean getServerSupportsColumnEncryption();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 684
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverColumnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            invokevirtual com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.value:()I
            getstatic com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.AE_NotSupported:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            invokevirtual com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion.value:()I
            if_icmple 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  com.microsoft.sqlserver.jdbc.ColumnEncryptionVersion getServerColumnEncryptionVersion();
    descriptor: ()Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 688
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverColumnEncryptionVersion:Lcom/microsoft/sqlserver/jdbc/ColumnEncryptionVersion;
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  boolean getServerSupportsDataClassification();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 695
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportsDataClassification:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  static java.net.InetSocketAddress getDNSEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetSocketAddress;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String key
         0: .line 702
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 1
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.dnsCache:Ljava/util/concurrent/ConcurrentHashMap;
            aload 0 /* key */
            invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.net.InetSocketAddress
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.net.InetSocketAddress
         2: areturn
        end local 0 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  byte getServerSupportedDataClassificationVersion();
    descriptor: ()B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 706
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.serverSupportedDataClassificationVersion:B
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public boolean getDelayLoadingLobs();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 714
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
            ireturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  public void setDelayLoadingLobs(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // boolean b
         0: .line 719
            aload 0 /* this */
            iload 1 /* b */
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.delayLoadingLobs:Z
         1: .line 720
            return
        end local 1 // boolean b
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public static synchronized void registerColumnEncryptionKeyStoreProviders(java.util.Map<java.lang.String, com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=6, args_size=1
        start local 0 // java.util.Map clientKeyStoreProviders
         0: .line 743
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "registerColumnEncryptionKeyStoreProviders"
         1: .line 744
            ldc "Registering Column Encryption Key Store Providers"
         2: .line 743
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 746
            aload 0 /* clientKeyStoreProviders */
            ifnonnull 7
         4: .line 747
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_CustomKeyStoreProviderMapNull"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
         5: .line 748
            iconst_0
            iconst_0
         6: .line 747
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
         7: .line 751
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 12
         8: .line 752
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 12
         9: .line 753
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_CustomKeyStoreProviderSetOnce"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
            aconst_null
        10: .line 754
            iconst_0
            iconst_0
        11: .line 753
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        12: .line 757
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
        13: .line 759
            aload 0 /* clientKeyStoreProviders */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 33
      StackMap locals: java.util.Map top java.util.Iterator
      StackMap stack:
        14: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
        15: .line 760
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* providerName */
        start local 3 // java.lang.String providerName
        16: .line 761
            aload 3 /* providerName */
            ifnull 17
            aload 3 /* providerName */
            invokevirtual java.lang.String.length:()I
            ifne 20
        17: .line 762
      StackMap locals: java.util.Map java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            ldc "R_EmptyCustomKeyStoreProviderName"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        18: .line 763
            aconst_null
            iconst_0
            iconst_0
        19: .line 762
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        20: .line 765
      StackMap locals:
      StackMap stack:
            aload 3 /* providerName */
            iconst_0
            bipush 6
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            ldc "MSSQL_"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 26
        21: .line 766
            new java.text.MessageFormat
            dup
        22: .line 767
            ldc "R_InvalidCustomKeyStoreProviderName"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 766
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        24: .line 768
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* providerName */
            aastore
            dup
            iconst_1
            ldc "MSSQL_"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        25: .line 769
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        26: .line 771
      StackMap locals:
      StackMap stack:
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnonnull 32
        27: .line 772
            new java.text.MessageFormat
            dup
        28: .line 773
            ldc "R_CustomKeyStoreProviderValueNull"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        29: .line 772
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        30: .line 774
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* providerName */
            aastore
            dup
            iconst_1
            ldc "MSSQL_"
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        31: .line 775
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aconst_null
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            iconst_0
            iconst_0
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;IZ)V
            athrow
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        32: .line 777
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.String providerName
        end local 1 // java.util.Map$Entry entry
        33: .line 759
      StackMap locals: java.util.Map top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        34: .line 780
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "registerColumnEncryptionKeyStoreProviders"
        35: .line 781
            new java.lang.StringBuilder
            dup
            ldc "Number of Key store providers that are registered:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        36: .line 782
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 781
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 780
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        39: .line 783
            return
        end local 0 // java.util.Map clientKeyStoreProviders
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   40     0  clientKeyStoreProviders  Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;
           15   33     1                    entry  Ljava/util/Map$Entry<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;
           16   33     3             providerName  Ljava/lang/String;
           24   26     4                     form  Ljava/text/MessageFormat;
           25   26     5                  msgArgs  [Ljava/lang/Object;
           30   32     4                     form  Ljava/text/MessageFormat;
           31   32     5                  msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    Signature: (Ljava/util/Map<Ljava/lang/String;Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;>;)V
    MethodParameters:
                         Name  Flags
      clientKeyStoreProviders  

  public static synchronized void unregisterColumnEncryptionKeyStoreProviders();
    descriptor: ()V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=0, args_size=0
         0: .line 790
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "unregisterColumnEncryptionKeyStoreProviders"
         1: .line 791
            ldc "Removing Column Encryption Key Store Provider"
         2: .line 790
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 793
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 6
         4: .line 794
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         5: .line 795
            aconst_null
            putstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         6: .line 798
      StackMap locals:
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "unregisterColumnEncryptionKeyStoreProviders"
         7: .line 799
            ldc "Number of Key store providers that are registered: 0"
         8: .line 798
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         9: .line 800
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getGlobalSystemColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 804
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         1: .line 805
            aload 1 /* providerName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 1 /* providerName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 804
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  

  synchronized java.lang.String getAllGlobalCustomSystemColumnEncryptionKeyStoreProviders();
    descriptor: ()Ljava/lang/String;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 809
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         1: .line 810
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 809
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;

  synchronized java.lang.String getAllSystemColumnEncryptionKeyStoreProviders();
    descriptor: ()Ljava/lang/String;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
         0: .line 814
            ldc ""
            astore 1 /* keyStores */
        start local 1 // java.lang.String keyStores
         1: .line 815
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifeq 3
         2: .line 816
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            astore 1 /* keyStores */
         3: .line 817
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifeq 5
         4: .line 818
            new java.lang.StringBuilder
            dup
            aload 1 /* keyStores */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalSystemColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* keyStores */
         5: .line 819
      StackMap locals:
      StackMap stack:
            aload 1 /* keyStores */
            areturn
        end local 1 // java.lang.String keyStores
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            1    6     1  keyStores  Ljava/lang/String;

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getGlobalCustomColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 824
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            ifnull 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
         1: .line 825
            aload 1 /* providerName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.globalCustomColumnEncryptionKeyStoreProviders:Ljava/util/Map;
            aload 1 /* providerName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 824
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getSystemColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 830
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            ifnull 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
         1: .line 831
            aload 1 /* providerName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 2
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.systemColumnEncryptionKeyStoreProvider:Ljava/util/Map;
            aload 1 /* providerName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
         3: .line 830
      StackMap locals:
      StackMap stack: com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0    4     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  

  synchronized com.microsoft.sqlserver.jdbc.SQLServerColumnEncryptionKeyStoreProvider getColumnEncryptionKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
        start local 1 // java.lang.String providerName
         0: .line 838
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* providerName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getSystemColumnEncryptionKeyStoreProvider:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
         1: .line 841
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            ifnonnull 3
         2: .line 842
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* providerName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getGlobalSystemColumnEncryptionKeyStoreProvider:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
         3: .line 846
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            ifnonnull 5
         4: .line 847
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* providerName */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getGlobalCustomColumnEncryptionKeyStoreProvider:(Ljava/lang/String;)Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            putfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
         5: .line 851
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            ifnonnull 13
         6: .line 852
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getAllSystemColumnEncryptionKeyStoreProviders:()Ljava/lang/String;
            astore 2 /* systemProviders */
        start local 2 // java.lang.String systemProviders
         7: .line 853
            aload 0 /* this */
            invokevirtual com.microsoft.sqlserver.jdbc.SQLServerConnection.getAllGlobalCustomSystemColumnEncryptionKeyStoreProviders:()Ljava/lang/String;
            astore 3 /* customProviders */
        start local 3 // java.lang.String customProviders
         8: .line 854
            new java.text.MessageFormat
            dup
         9: .line 855
            ldc "R_UnrecognizedKeyStoreProviderName"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 854
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 4 /* form */
        start local 4 // java.text.MessageFormat form
        11: .line 856
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* providerName */
            aastore
            dup
            iconst_1
            aload 2 /* systemProviders */
            aastore
            dup
            iconst_2
            aload 3 /* customProviders */
            aastore
            astore 5 /* msgArgs */
        start local 5 // java.lang.Object[] msgArgs
        12: .line 857
            new com.microsoft.sqlserver.jdbc.SQLServerException
            dup
            aload 4 /* form */
            aload 5 /* msgArgs */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial com.microsoft.sqlserver.jdbc.SQLServerException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Object[] msgArgs
        end local 4 // java.text.MessageFormat form
        end local 3 // java.lang.String customProviders
        end local 2 // java.lang.String systemProviders
        13: .line 860
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.microsoft.sqlserver.jdbc.SQLServerConnection.keystoreProvider:Lcom/microsoft/sqlserver/jdbc/SQLServerColumnEncryptionKeyStoreProvider;
            areturn
        end local 1 // java.lang.String providerName
        end local 0 // com.microsoft.sqlserver.jdbc.SQLServerConnection this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;
            0   14     1     providerName  Ljava/lang/String;
            7   13     2  systemProviders  Ljava/lang/String;
            8   13     3  customProviders  Ljava/lang/String;
           11   13     4             form  Ljava/text/MessageFormat;
           12   13     5          msgArgs  [Ljava/lang/Object;
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
              Name  Flags
      providerName  

  public static synchronized void setColumnEncryptionTrustedMasterKeyPaths(java.util.Map<java.lang.String, java.util.List<java.lang.String>>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.util.Map trustedKeyPaths
         0: .line 874
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setColumnEncryptionTrustedMasterKeyPaths"
         1: .line 875
            ldc "Setting Trusted Master Key Paths"
         2: .line 874
            invokevirtual java.util.logging.Logger.entering:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 878
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         4: .line 879
            aload 0 /* trustedKeyPaths */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 7
      StackMap locals: java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         6: .line 880
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 1 // java.util.Map$Entry entry
         7: .line 879
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 883
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "setColumnEncryptionTrustedMasterKeyPaths"
         9: .line 884
            new java.lang.StringBuilder
            dup
            ldc "Number of Trusted Master Key Paths: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.columnEncryptionTrustedMasterKeyPaths:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 883
            invokevirtual java.util.logging.Logger.exiting:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 885
            return
        end local 0 // java.util.Map trustedKeyPaths
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0  trustedKeyPaths  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            6    7     1            entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;)V
    MethodParameters:
                 Name  Flags
      trustedKeyPaths  

  public static synchronized void updateColumnEncryptionTrustedMasterKeyPaths(java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String server
        start local 1 // java.util.List trustedKeyPaths
         0: .line 897
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggerExternal:Ljava/util/logging/Logger;
            getstatic com.microsoft.sqlserver.jdbc.SQLServerConnection.loggingClassName:Ljava/lang/String;
            ldc "updateColumnEncryptionTrustedMasterKeyPaths"
         1: .line 898
            ldc "Updating Trusted Master Key Paths"
         2: .line 897
            invokevirtual java.util.logging.Logger.