code: func (c *certPool) Get() (*x509.CertPool, error) {
  
  	//if dirty then add certs from queue to cert pool
  	if atomic.CompareAndSwapInt32(&c.dirty, 1, 0) {
  		//swap certpool if queue is dirty
  		err := c.swapCertPool()
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	c.lock.RLock()
  	defer c.lock.RUnlock()
  
  	return c.certPool, nil
  }
docs: //Get returns certpool
  //if there are any certs in cert queue added by any previous Add() call, it adds those certs to certpool before returning