code: func (ch *CertChecker) GetCA(c context.Context) (*certconfig.CA, error) {
  	value, err := ch.ca.Get(c, func(interface{}) (ca interface{}, exp time.Duration, err error) {
  		ca, err = ch.refetchCA(c)
  		if err == nil {
  			exp = refetchCAPeriod(c)
  		}
  		return
  	})
  	if err != nil {
  		return nil, err
  	}
  	ca, _ := value.(*certconfig.CA)
  	// nil 'ca' means 'refetchCA' could not find it in the datastore. May happen
  	// if CA entity was deleted after GetCertChecker call. It could have been also
  	// "soft-deleted" by setting Removed == true.
  	if ca == nil || ca.Removed {
  		return nil, Error{
  			error:  fmt.Errorf("no such CA %q", ch.CN),
  			Reason: NoSuchCA,
  		}
  	}
  	return ca, nil
  }
docs: // GetCA returns CA entity with ParsedConfig and ParsedCert fields set.