private void AddGranteeAndRoles(OrderedHashSet <Grantee> set) { set.Add(this); for (int i = 0; i < this.Roles.Size(); i++) { Grantee key = this.Roles.Get(i); if (!set.Contains(key)) { key.AddGranteeAndRoles(set); } } }