public void AddRelative(MeasureType relative)
        {
            relative.Prime = this;

            MeasureType otherrelative = this.Relative;

            this.Relative     = relative;
            relative.Relative = otherrelative;
        }
        public IEnumerable <MeasureType> Relatives()
        {
            MeasureType next = this.Relative;

            while (!object.ReferenceEquals(next, this))
            {
                yield return(next);

                next = next.Relative;
            }
        }
 protected MeasureType(string nameSpace, string name) :
     base(nameSpace, name, false)
 {
     Prime    = null;    // Initially, no prime measure (it's a prime for itself and a candidate for the family prime)
     Relative = this;    // Initially, no relatives
 }