public override void GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue <Type>("Type", Type); info.AddValue <string>("FullName", FullName); info.AddValue <string>("ShortName", ShortName); info.AddValue <IIdentifier>("identifier", identifier); info.AddValue <IList <IAssociationSpecImmutable> >("Fields", Fields.ToList()); info.AddValue <IList <ITypeSpecImmutable> >("Interfaces", Interfaces.ToList()); info.AddValue <ITypeSpecImmutable>("Superclass", Superclass); info.AddValue <IList <ITypeSpecImmutable> >("subclasses", subclasses.ToList()); info.AddValue <IList <IActionSpecImmutable> >("ObjectActions", ObjectActions.ToList()); info.AddValue <IList <IActionSpecImmutable> >("ContributedActions", ContributedActions.ToList()); info.AddValue <IList <IActionSpecImmutable> >("CollectionContributedActions", CollectionContributedActions.ToList()); info.AddValue <IList <IActionSpecImmutable> >("FinderActions", FinderActions.ToList()); base.GetObjectData(info, context); }