code: func (nc *Conn) checkForSecure() error {
  	// Check to see if we need to engage TLS
  	o := nc.Opts
  
  	// Check for mismatch in setups
  	if o.Secure && !nc.info.TLSRequired {
  		return ErrSecureConnWanted
  	} else if nc.info.TLSRequired && !o.Secure {
  		// Switch to Secure since server needs TLS.
  		o.Secure = true
  	}
  
  	// Need to rewrap with bufio
  	if o.Secure {
  		if err := nc.makeTLSConn(); err != nil {
  			return err
  		}
  	}
  	return nil
  }
docs: // This will check to see if the connection should be
  // secure. This can be dictated from either end and should
  // only be called after the INIT protocol has been received.