code: @Override
      public boolean isIsolationLevelSwitchingSupport() {
          // We assume that we are running on the local server so we can determine the os version
          // Check that the OS is V5R3 or higher and set isolationLevelSwitchingSupported to true.
          // Note:  isolationLevelSwitchingSupport is defaulted to false
          if (!switchingSupportDetermined) {
              os400Version_ = AccessController.doPrivileged(new PrivilegedAction<String>() {
                  @Override
                  public String run() {
                      return System.getProperty("os.version");
                  }
              });
              os400VersionNum_ = generateVersionNumber(os400Version_);
              if (os400VersionNum_ >= 530) {
                  isolationLevelSwitchingSupport = true;
              }
              switchingSupportDetermined = true;
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())   
              Tr.debug(this, tc, "isolationSwitchingSupported has a value of " + isolationLevelSwitchingSupport);
          // The variable 'isolationLevelSwitchingSupport' is initialized to false.  
          // If it was changed, it was done so in one of two places:
          // 1) In the code in this method - ie. switchingSupportDetermined was false and os.version dictates its value.
          // 2) In the setProperties() method of this class. A datasource property (isolationLevelSwitchingSupport) was set 
          //    to true, and that takes precedence over the os.version WAS is running on (remote DB access is being done) 
          //    and switchingSupportDetermined is then set to true.
          //
          return isolationLevelSwitchingSupport; 
      }
docs: This method returns the indicator whether the backend supports the isolation level switching on a connection
  
  @return boolean : indicates the backend whether supports the isolation level switching