protected virtual object Visit(openehr.openehr.am.openehr_profile.data_types.quantity.Impl.C_DV_ORDINAL o, int depth)
        {
            C_DV_ORDINAL result = new C_DV_ORDINAL();
            CloneC_Object(result, o);

            if (o.assumed_value() != null)
                result.assumed_value = CloneDvOrdinal((openehr.openehr.am.openehr_profile.data_types.quantity.Impl.ORDINAL)o.assumed_value());

            if (!o.any_allowed())
            {
                EiffelStructures.list.LINKED_LIST_REFERENCE adlOrdinals = o.items();
                result.list = new DV_ORDINAL[adlOrdinals.count()];
                adlOrdinals.start();

                for (int i = 0; i < result.list.Length; i++)
                {
                    result.list[i] = CloneDvOrdinal((openehr.openehr.am.openehr_profile.data_types.quantity.Impl.ORDINAL)adlOrdinals.active().item());
                    adlOrdinals.forth();
                }
            }

            return result;
        }