public virtual int GetRunStart <T0>(ILOG.J2CsMapping.Collections.Generics.ISet <T0> attributes) where T0 : AttributedCharacterIterator_Constants.Attribute
            {
                int            start_0 = begin;
                IIterator <T0> it      = new ILOG.J2CsMapping.Collections.Generics.IteratorAdapter <T0>(attributes.GetEnumerator());

                while (it.HasNext())
                {
                    AttributedCharacterIterator_Constants.Attribute attribute = it.Next();
                    int newStart = GetRunStart(attribute);
                    if (newStart > start_0)
                    {
                        start_0 = newStart;
                    }
                }
                return(start_0);
            }
            public virtual int GetRunLimit <T0>(ILOG.J2CsMapping.Collections.Generics.ISet <T0> attributes) where T0 : AttributedCharacterIterator_Constants.Attribute
            {
                int            limit = end;
                IIterator <T0> it    = new ILOG.J2CsMapping.Collections.Generics.IteratorAdapter <T0>(attributes.GetEnumerator());

                while (it.HasNext())
                {
                    AttributedCharacterIterator_Constants.Attribute attribute = it.Next();
                    int newLimit = GetRunLimit(attribute);
                    if (newLimit < limit)
                    {
                        limit = newLimit;
                    }
                }
                return(limit);
            }