C_TIME VisitPrimitiveConstraint(C_TIME primitiveConstraint)
        {
            System.Diagnostics.Trace.Assert(primitiveConstraint != null, "objectConstraint must not be null");

            C_TIME result = new C_TIME();
            result.assumed_value = primitiveConstraint.assumed_value;

            if (primitiveConstraint.pattern != null)
                result.pattern = primitiveConstraint.pattern.ToUpperInvariant();

            result.range = primitiveConstraint.range;
            result.timezone_validity = primitiveConstraint.timezone_validity;
            result.timezone_validitySpecified = primitiveConstraint.timezone_validitySpecified;

            return result;
        }
        protected virtual C_TIME CloneTime(openehr.openehr.am.archetype.constraint_model.primitive.Impl.C_TIME o)
        {
            C_TIME result = new C_TIME();

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

            if (o.pattern() != null)
                result.pattern = o.pattern().ToString();

            result.range = CloneIntervalOfTime(o.interval());

            return result;
        }