protected override void ProcessVocabularyAnnotation(IEdmVocabularyAnnotation annotation)
        {
            EdmSchema edmSchema = null;

            if (!annotation.IsInline(this.Model))
            {
                string schemaNamespace = annotation.GetSchemaNamespace(this.Model);
                string empty           = schemaNamespace;
                if (schemaNamespace == null)
                {
                    Dictionary <string, EdmSchema> strs = this.modelSchemas;
                    string str = strs.Select <KeyValuePair <string, EdmSchema>, string>((KeyValuePair <string, EdmSchema> s) => s.Key).FirstOrDefault <string>();
                    empty = str;
                    if (str == null)
                    {
                        empty = string.Empty;
                    }
                }
                string str1 = empty;
                if (!this.modelSchemas.TryGetValue(str1, out edmSchema))
                {
                    edmSchema = new EdmSchema(str1);
                    this.modelSchemas.Add(edmSchema.Namespace, edmSchema);
                }
                edmSchema.AddVocabularyAnnotation(annotation);
                this.activeSchema = edmSchema;
            }
            if (annotation.Term != null)
            {
                this.CheckSchemaElementReference(annotation.Term);
            }
            base.ProcessVocabularyAnnotation(annotation);
        }
        protected override void ProcessVocabularyAnnotation(IEdmVocabularyAnnotation annotation)
        {
            if (!annotation.IsInline(this.Model))
            {
                var annotationSchemaNamespace = annotation.GetSchemaNamespace(this.Model) ?? this.modelSchemas.Select(s => s.Key).FirstOrDefault() ?? string.Empty;

                EdmSchema annotationSchema;
                if (!this.modelSchemas.TryGetValue(annotationSchemaNamespace, out annotationSchema))
                {
                    annotationSchema = new EdmSchema(annotationSchemaNamespace);
                    this.modelSchemas.Add(annotationSchema.Namespace, annotationSchema);
                }

                annotationSchema.AddVocabularyAnnotation(annotation);
                this.activeSchema = annotationSchema;
            }

            if (annotation.Term != null)
            {
                this.CheckSchemaElementReference(annotation.Term);
            }

            base.ProcessVocabularyAnnotation(annotation);
        }
        protected override void ProcessVocabularyAnnotation(IEdmVocabularyAnnotation annotation)
        {
            if (!annotation.IsInline(this.Model))
            {
                var annotationSchemaNamespace = annotation.GetSchemaNamespace(this.Model) ?? this.modelSchemas.Select(s => s.Key).FirstOrDefault() ?? string.Empty;

                EdmSchema annotationSchema;
                if (!this.modelSchemas.TryGetValue(annotationSchemaNamespace, out annotationSchema))
                {
                    annotationSchema = new EdmSchema(annotationSchemaNamespace);
                    this.modelSchemas.Add(annotationSchema.Namespace, annotationSchema);
                }

                annotationSchema.AddVocabularyAnnotation(annotation);
                this.activeSchema = annotationSchema;
            }

            if (annotation.Term != null)
            {
                this.CheckSchemaElementReference(annotation.Term);
            }

            base.ProcessVocabularyAnnotation(annotation);
        }
		protected override void ProcessVocabularyAnnotation(IEdmVocabularyAnnotation annotation)
		{
			EdmSchema edmSchema = null;
			if (!annotation.IsInline(this.Model))
			{
				string schemaNamespace = annotation.GetSchemaNamespace(this.Model);
				string empty = schemaNamespace;
				if (schemaNamespace == null)
				{
					Dictionary<string, EdmSchema> strs = this.modelSchemas;
					string str = strs.Select<KeyValuePair<string, EdmSchema>, string>((KeyValuePair<string, EdmSchema> s) => s.Key).FirstOrDefault<string>();
					empty = str;
					if (str == null)
					{
						empty = string.Empty;
					}
				}
				string str1 = empty;
				if (!this.modelSchemas.TryGetValue(str1, out edmSchema))
				{
					edmSchema = new EdmSchema(str1);
					this.modelSchemas.Add(edmSchema.Namespace, edmSchema);
				}
				edmSchema.AddVocabularyAnnotation(annotation);
				this.activeSchema = edmSchema;
			}
			if (annotation.Term != null)
			{
				this.CheckSchemaElementReference(annotation.Term);
			}
			base.ProcessVocabularyAnnotation(annotation);
		}