Org.BouncyCastle.Pkix.PkixNameConstraintValidator.IntersectDN C# (CSharp) Метод

IntersectDN() приватный Метод

private IntersectDN ( ISet permitted, ISet dns ) : ISet
permitted ISet
dns ISet
Результат ISet
        private ISet IntersectDN(ISet permitted, ISet dns)
        {
            ISet intersect = new HashSet();
            for (IEnumerator it = dns.GetEnumerator(); it.MoveNext(); )
            {
                Asn1Sequence dn = Asn1Sequence.GetInstance(((GeneralSubtree)it
                    .Current).Base.Name.ToAsn1Object());
                if (permitted == null)
                {
                    if (dn != null)
                    {
                        intersect.Add(dn);
                    }
                }
                else
                {
                    IEnumerator _iter = permitted.GetEnumerator();
                    while (_iter.MoveNext())
                    {
                        Asn1Sequence subtree = (Asn1Sequence)_iter.Current;

                        if (WithinDNSubtree(dn, subtree))
                        {
                            intersect.Add(dn);
                        }
                        else if (WithinDNSubtree(subtree, dn))
                        {
                            intersect.Add(subtree);
                        }
                    }
                }
            }
            return intersect;
        }