/// <summary>
 /// Constructor that accepts a metadata context to use when generating custom type descriptors
 /// </summary>
 /// <param name="existingProvider">The parent TDP instance</param>
 /// <param name="domainServiceType">The DomainService Type exposing the entity Types this provider will be registered for</param>
 /// <param name="unitOfWorkType">The DataContext Type that exposes the Types this provider will be registered for</param>
 public LightSpeedTypeDescriptionProvider(DomainServiceDescriptionProvider existingProvider, Type domainServiceType, Type unitOfWorkType)
     : base(domainServiceType,existingProvider)
 {
     lock (_tdpContextMap)
     {
         if (!_tdpContextMap.TryGetValue(domainServiceType, out this._typeDescriptionContext))
         {
             this._typeDescriptionContext = new LightSpeedTypeDescriptionContext(unitOfWorkType);
             _tdpContextMap.Add(domainServiceType, _typeDescriptionContext);
         }
     }
 }
 /// <summary>
 /// Constructor that takes the metadata context, a metadata type and a parent custom type descriptor
 /// </summary>
 /// <param name="typeDescriptionContext"></param>
 /// <param name="metaType"></param>
 /// <param name="parent"></param>
 public LightSpeedTypeDescriptor(LightSpeedTypeDescriptionContext typeDescriptionContext, LightSpeedTableProvider metaTable, ICustomTypeDescriptor parent)
     : base(parent)
 {
     this._typeDescriptionContext = typeDescriptionContext;
     this._metaTable = metaTable;
 }