public CommunicationModelBuilder EntityProjection(Type interfaceType)
        {
            if (!interfaceType.IsInterface)
            {
                throw new ArgumentException($"The type '{interfaceType}' must be an interface to qualify for an entity projection.");
            }
            if (Model.FindEntityProjectionByIterfaceType(interfaceType) != null)
            {
                return(this);
            }
            var definition = new EntityProjectionDefinition((CommunicationModel)Model, interfaceType);
            var builder    = new EntityProjectionDefinitionBuilder(definition);

            return(this);
        }
 internal void OnEntityProjectionInterfaceSet(EntityProjectionDefinition definition)
 {
     _entityProjections.Add(definition);
     _entityProjectionsByInterfaceType.Add(definition.InterfaceType, definition);
 }