public VertexTypePredefinition ToVertexTypePredefinition() { VertexTypePredefinition VertexTypePreDef = new VertexTypePredefinition(this.VertexTypeName); if (this.IsAbstract) { VertexTypePreDef.MarkAsAbstract(); } if (this.IsSealed) { VertexTypePreDef.MarkAsSealed(); } VertexTypePreDef.SetComment(this.Comment); VertexTypePreDef.SetSuperTypeName(this.SuperVertexTypeName); if (this.Properties != null) { foreach (var Property in this.Properties) { VertexTypePreDef.AddProperty(Property.ToPropertyPredefinition()); } } if (this.BinaryProperties != null) { foreach (var BinaryProperty in this.BinaryProperties) { VertexTypePreDef.AddBinaryProperty(BinaryProperty.ToBinaryPropertyPredefinition()); } } if (this.Uniques != null) { foreach (var Unique in this.Uniques) { VertexTypePreDef.AddUnique(Unique.ToUniquePredefinition()); } } if (this.IncomingEdges != null) { foreach (var IncomingEdge in this.IncomingEdges) { VertexTypePreDef.AddIncomingEdge(IncomingEdge.ToIncomingEdgePredefinition()); } } if (this.OutgoingEdges != null) { foreach (var OutgoingEdge in this.OutgoingEdges) { VertexTypePreDef.AddOutgoingEdge(OutgoingEdge.ToOutgoingEdgePredefinition()); } } if (this.Indices != null) { foreach (var Index in this.Indices) { VertexTypePreDef.AddIndex(Index.ToIndexPredefinition()); } } return(VertexTypePreDef); }