internal NameToEnum(UPropertyAliases aliases, UPropertyAliases.Builder b)
            {
                outer_UPropertyAliases = aliases;
                int i;
                int count = b.ReadInt();

                enumArray = new int[count];
                nameArray = new short[count];
                for (i = 0; i < count; ++i)
                {
                    enumArray[i] = b.ReadInt();
                }
                for (i = 0; i < count; ++i)
                {
                    nameArray[i] = b.StringOffsetToIndex(b.ReadShort());
                }
            }
            internal ValueMap(UPropertyAliases aliases, UPropertyAliases.Builder b)
            {
                outer_UPropertyAliases = aliases;
                short enumToName_offset   = b.ReadShort();
                short ncEnumToName_offset = b.ReadShort();
                short nameToEnum_offset   = b.ReadShort();

                if (enumToName_offset != 0)
                {
                    b.Seek(enumToName_offset);
                    UPropertyAliases.ContiguousEnumToShort x = new UPropertyAliases.ContiguousEnumToShort(b);
                    b.NameGroupOffsetToIndex(x.offsetArray);
                    enumToName = x;
                }
                else
                {
                    b.Seek(ncEnumToName_offset);
                    UPropertyAliases.NonContiguousEnumToShort x_0 = new UPropertyAliases.NonContiguousEnumToShort(b);
                    b.NameGroupOffsetToIndex(x_0.offsetArray);
                    enumToName = x_0;
                }
                b.Seek(nameToEnum_offset);
                nameToEnum = new  IBM.ICU.Impl.UPropertyAliases.NameToEnum(outer_UPropertyAliases, b);
            }