/// <summary>
        /// Gets called when the parent model element of the current model element is about to change
        /// </summary>
        /// <param name="oldParent">The old parent model element</param>
        /// <param name="newParent">The new parent model element</param>
        protected override void OnParentChanging(IModelElement newParent, IModelElement oldParent)
        {
            ISpecifiedReliabilityAnnotation oldSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription = ModelHelper.CastAs <ISpecifiedReliabilityAnnotation>(oldParent);
            ISpecifiedReliabilityAnnotation newSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription = ModelHelper.CastAs <ISpecifiedReliabilityAnnotation>(newParent);
            ValueChangedEventArgs           e = new ValueChangedEventArgs(oldSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription, newSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription);

            this.OnSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescriptionChanging(e);
            this.OnPropertyChanging("SpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription", e, _specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescriptionReference);
        }
        /// <summary>
        /// Gets called when the parent model element of the current model element changes
        /// </summary>
        /// <param name="oldParent">The old parent model element</param>
        /// <param name="newParent">The new parent model element</param>
        protected override void OnParentChanged(IModelElement newParent, IModelElement oldParent)
        {
            ISpecifiedReliabilityAnnotation oldSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription = ModelHelper.CastAs <ISpecifiedReliabilityAnnotation>(oldParent);
            ISpecifiedReliabilityAnnotation newSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription = ModelHelper.CastAs <ISpecifiedReliabilityAnnotation>(newParent);

            if ((oldSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription != null))
            {
                oldSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription.ExternalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation.Remove(this);
            }
            if ((newSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription != null))
            {
                newSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription.ExternalFailureOccurrenceDescriptions__SpecifiedReliabilityAnnotation.Add(this);
            }
            ValueChangedEventArgs e = new ValueChangedEventArgs(oldSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription, newSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription);

            this.OnSpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescriptionChanged(e);
            this.OnPropertyChanged("SpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription", e, _specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescriptionReference);
            base.OnParentChanged(newParent, oldParent);
        }
 /// <summary>
 /// Adds the given element to the collection
 /// </summary>
 /// <param name="item">The item to add</param>
 public override void Add(IModelElement item)
 {
     if ((this._parent.SpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription == null))
     {
         ISpecifiedReliabilityAnnotation specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescriptionCasted = item.As <ISpecifiedReliabilityAnnotation>();
         if ((specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescriptionCasted != null))
         {
             this._parent.SpecifiedReliabilityAnnotation__ExternalFailureOccurrenceDescription = specifiedReliabilityAnnotation__ExternalFailureOccurrenceDescriptionCasted;
             return;
         }
     }
     if ((this._parent.FailureType__ExternalFailureOccurrenceDescription == null))
     {
         IFailureType failureType__ExternalFailureOccurrenceDescriptionCasted = item.As <IFailureType>();
         if ((failureType__ExternalFailureOccurrenceDescriptionCasted != null))
         {
             this._parent.FailureType__ExternalFailureOccurrenceDescription = failureType__ExternalFailureOccurrenceDescriptionCasted;
             return;
         }
     }
 }