private DataItem getDataItem(TSF_EA.Attribute attribute)
 {
     if (attribute == null)
     {
         return(null);
     }
     TSF_EA.TaggedValue tv = attribute.getTaggedValue("EDD::dataitem");
     if (tv == null || tv.tagValue == null)
     {
         return(null);
     }
     return(GlossaryItemFactory <DataItem> .FromClass(tv.tagValue as TSF_EA.Class));
 }
        /// <summary>
        /// finds the corresponding Schema property for the given attribut
        /// </summary>
        /// <param name="attribute">attribute</param>
        /// <returns>the corresponding Schema property if one is found. Else null</returns>
        public EASchemaProperty getMatchingSchemaProperty(UTF_EA.Attribute attribute)
        {
            EASchemaProperty result = null;
            var sourceAttributeTag  = attribute.getTaggedValue(this.owner.settings.sourceAttributeTagName);

            if (sourceAttributeTag != null)
            {
                string tagReference = sourceAttributeTag.eaStringValue;

                foreach (EASchemaProperty property in this.schemaProperties)
                {
                    //we have the same attribute if the given attribute has a tagged value
                    //called sourceAttribute that refences the source attribute of the schema Property
                    if (((UTF_EA.Attribute)property.sourceProperty).guid == tagReference)
                    {
                        result = property;
                        break;
                    }
                }
            }
            return(result);
        }