/// <summary>
 /// Obtains new or existing MetaType instance that represents a Type in this document instance.
 /// If this document instance already has this type registered, then existing MetaType instance is returned, otherwise
 ///  the new MetaType instance that represents the supplied CLR Type is created and registered under the document-unique index
 /// </summary>
 public MetaType GetExistingOrNewMetaType(Type type)
 {
     return(m_Types[MetaType.GetExistingOrNewMetaTypeIndex(this, type)]);
 }
 /// <summary>
 /// Obtains new or existing index of MetaType that represents a Type in this document instance.
 /// If this document instance already has this type registered, then existing index is returned, otherwise
 ///  the new MetaType instance that represents the supplied CLR Type is created and registered under the document-unique index
 /// </summary>
 public int GetExistingOrNewMetaTypeIndex(Type type)
 {
     return(MetaType.GetExistingOrNewMetaTypeIndex(this, type));
 }