internal static EnumBuilder CreateType(IEdmEnumType targetType, ModuleBuilder moduleBuilder, string moduleName)
        {
            if (_typeBuildersDict.ContainsKey(moduleName))
            {
                return((EnumBuilder)(object)_typeBuildersDict[moduleName].Builder.AsType());
            }

            EnumBuilder typeBuilder = moduleBuilder.DefineEnum(moduleName, TypeAttributes.Public, typeof(int));
            var         builderInfo = new TypeBuilderInfo()
            {
                Builder = typeBuilder.GetTypeInfo(), IsDerived = false
            };

            _typeBuildersDict.Add(moduleName, builderInfo);
            _builderQueue.Enqueue(builderInfo);
            return(typeBuilder);
        }