code: @Override
  	public Connection getConnection() {
  		Optional<LocalTransactionContext> txContext = currentTxContext();
  		try {
  			if (txContext.isPresent()) {
  				return txContext.get().getConnection();
  			} else {
  				if (!this.unmanagedTransaction.isPresent()) {
  					this.unmanagedTransaction = Optional
  							.of(new LocalTransactionContext(this.connectionSupplier, this.sqlFilterManager));
  				}
  				return this.unmanagedTransaction.get().getConnection();
  			}
  		} catch (SQLException ex) {
  			ex.printStackTrace();
  			return null;
  		}
  	}
docs: {@inheritDoc}
  
  @see jp.co.future.uroborosql.connection.ConnectionManager#getConnection()