System.Security.Claims.ClaimsIdentity.IsCircular C# (CSharp) Method

IsCircular() private method

Checks if a circular reference exists to 'this'
private IsCircular ( ClaimsIdentity subject ) : bool
subject ClaimsIdentity
return bool
        private bool IsCircular(ClaimsIdentity subject)
        {
            if (ReferenceEquals(this, subject))
            {
                return true;
            }

            ClaimsIdentity currSubject = subject;

            while (currSubject.Actor != null)
            {
                if (ReferenceEquals(this, currSubject.Actor))
                {
                    return true;
                }

                currSubject = currSubject.Actor;
            }

            return false;
        }