code: public void invoke(X509Certificate cert, GSIConstants.CertificateType certType) throws CertPathValidatorException {
          if (proxyCertValidator.getIdentityCertificate() == null) {
              // check if limited
              if (ProxyCertificateUtil.isLimitedProxy(certType)) {
                  proxyCertValidator.setLimited(true);
  
                  if (proxyCertValidator.isRejectLimitedProxy()) {
                      throw new CertPathValidatorException(
                              "Limited proxy not accepted");
                  }
              }
  
              // set the identity cert
              if (!ProxyCertificateUtil.isImpersonationProxy(certType)) {
                  proxyCertValidator.setIdentityCert(cert);
              }
          }
      }
docs: Method that sets the identity of the certificate path. Also checks if
  limited proxy is acceptable.
  
  @throws CertPathValidatorException If limited proxies are not accepted
  and the chain has a limited proxy.