protected virtual C_STRING CloneString(openehr.openehr.am.archetype.constraint_model.primitive.Impl.C_STRING o)
        {
            C_STRING result = new C_STRING();

            if (o.regexp() != null)
                result.pattern = o.regexp().to_cil();

            if (o.has_assumed_value())
                result.assumed_value = o.assumed_value().ToString();

            if (o.strings() != null && o.strings().count() > 0)
            {
                result.list = new string[o.strings().count()];

                for (int i = 1; i <= result.list.Length; i++)
                    result.list[i - 1] = o.strings().i_th(i).ToString();
            }

            if (o.is_open())
            {
                result.list_open = true;
                result.list_openSpecified = true;
            }

            return result;
        }