code: final void forceRealClose(ForceRealClosePolicy policy) {
  
        if(conn != null) {
  
           //Set transaction state to closed so app's close (in finally, hopefully) will do nothing when called.
  
           transactionState = TransactionState.CLOSED;
  
           if(policy == ForceRealClosePolicy.STATEMENTS_AND_CONNECTION) {
              for(Statement stmt : openStatements) {
                 try {
                    stmt.close();
                 } catch(SQLException se) {
                    //Ignore
                 }
              }
           }
  
           if(policy != ForceRealClosePolicy.NONE) {
              if(policy == ForceRealClosePolicy.CONNECTION_WITH_LIMIT) {
                 try {
                    closeTimeLimiter.callWithTimeout(new Callable<Boolean>() {
                       public Boolean call() throws Exception {
                          conn.close();
                          return Boolean.TRUE;
                       }
                    }, closeTimeLimitMillis, TimeUnit.MILLISECONDS);
                 } catch(UncheckedTimeoutException ute) {
                    segment.logError("Unable to close connection after waiting " + closeTimeLimitMillis + " ms");
                 } catch(Exception e) {
                    segment.logError("Connection close error", e);
                 }
              } else {
                 try {
                    conn.close();
                 } catch(Exception e) {
                    segment.logError("Connection close error", e);
                 }
              }
           }
  
           conn = null;
           realOpenTime = Long.MAX_VALUE;
           reopenAttempts = 0;
           lastTrace = null;
        }
     }
docs: Closes the underlying DB connection, ignoring any exception raised.
  <p>
  Use the specified policy.
  </p>
  @param policy The policy.