/** INTERNAL: */
 protected synchronized void initializeConnectionData(Connection conn) throws SQLException {
   if (isConnectionDataInitialized) {
     return;
   }
   driverVersion = conn.getMetaData().getDriverVersion();
   // printCalendar for versions greater or equal 9 and less than 10.2.0.4
   shouldPrintCalendar =
       Helper.compareVersions("9", driverVersion) <= 0
           && Helper.compareVersions(driverVersion, "10.2.0.4") < 0;
   if (Helper.compareVersions(driverVersion, "11.1.0.7") < 0) {
     isTimestampInGmt = false;
   } else {
     if (conn instanceof OracleConnection) {
       String timestampTzInGmtPropStr =
           ((OracleConnection) conn)
               .getProperties()
               .getProperty("oracle.jdbc.timestampTzInGmt", "true");
       isTimestampInGmt = timestampTzInGmtPropStr.equalsIgnoreCase("true");
     } else {
       isTimestampInGmt = true;
     }
   }
   isConnectionDataInitialized = true;
 }