/// <summary>
 /// Add a constraint into the set
 /// </summary>
 /// <param name="constraint">The constraint being stored</param>
 public void Add(GOM_Interface_Constraint constraint)
 {
     rgConstraints.Add(constraint);
 }
        /// <summary>
        /// Clone a constraint
        /// </summary>
        /// <param name="constraint">The original constraint</param>
        /// <returns>If successful, a constraint is returned. Otherwise, null is returned.</returns>
        private GOM_Interface_Constraint CloneConstraint(GOM_Interface_Constraint constraint)
        {
            if (constraint is GOM_Assignment_Constraint)
            {
                return new GOM_Assignment_Constraint(CloneValue(constraint.values[0]), CloneValue(constraint.values[1]));
            }

            return null;
        }