public GeneralizationRelationship Clone(CompositeType derivedType, CompositeType baseType)
		{
			GeneralizationRelationship generalization = 
				new GeneralizationRelationship(derivedType, baseType);
			generalization.CopyFrom(this);
			return generalization;
		}
 internal void AddGeneralization(GeneralizationRelationship g)
 {
     AddBase((InterfaceType)g.Second);
     generalizationRelationshipList.Add(g);
 }
 internal void RemoveGeneralization(GeneralizationRelationship g)
 {
     RemoveBase(g.Second as InterfaceType);
     generalizationRelationshipList.Remove(g);
 }
		/// <exception cref="ArgumentNullException">
		/// <paramref name="generalization"/> is null.-or-
		/// <paramref name="startShape"/> is null.-or-
		/// <paramref name="endShape"/> is null.
		/// </exception>
		public Generalization(GeneralizationRelationship generalization, Shape startShape, Shape endShape)
			: base(generalization, startShape, endShape)
		{
			this.generalization = generalization;
		}