protected override void CopyFrom(TypeBase type) { base.CopyFrom(type); CompositeType compositeType = (CompositeType)type; FieldList.Clear(); FieldList.Capacity = compositeType.FieldList.Capacity; OperationList.Clear(); OperationList.Capacity = compositeType.OperationList.Capacity; foreach (Field field in compositeType.FieldList) { AddField(field.Clone(this)); } foreach (Operation operation in compositeType.OperationList) { AddOperation(operation.Clone(this)); } }