private X509AttrCertStoreSelector(
			X509AttrCertStoreSelector o)
		{
			this.attributeCert = o.attributeCert;
			this.attributeCertificateValid = o.attributeCertificateValid;
			this.holder = o.holder;
			this.issuer = o.issuer;
			this.serialNumber = o.serialNumber;
			this.targetGroups = new HashSet(o.targetGroups);
			this.targetNames = new HashSet(o.targetNames);
		}
 private X509AttrCertStoreSelector(
     X509AttrCertStoreSelector o)
 {
     this.attributeCert             = o.attributeCert;
     this.attributeCertificateValid = o.attributeCertificateValid;
     this.holder       = o.holder;
     this.issuer       = o.issuer;
     this.serialNumber = o.serialNumber;
     this.targetGroups = new HashSet(o.targetGroups);
     this.targetNames  = new HashSet(o.targetNames);
 }
		internal static ICollection FindCertificates(
			X509AttrCertStoreSelector	certSelect,
			IList						certStores)
		{
			ISet certs = new HashSet();

			foreach (IX509Store certStore in certStores)
			{
				try
				{
//					certs.AddAll(certStore.GetMatches(certSelect));
					foreach (X509V2AttributeCertificate ac in certStore.GetMatches(certSelect))
					{
						certs.Add(ac);
					}
				}
				catch (Exception e)
				{
					throw new Exception(
						"Problem while picking certificates from X.509 store.", e);
				}
			}

			return certs;
		}