/// <inheritdoc />
 public void Apply <TLinkedSource, TLinkTargetProperty, TLinkedSourceModelProperty>(
     LoadLinkProtocolForLinkedSourceBuilder <TLinkedSource> loadLinkProtocolForLinkedSourceBuilder,
     Func <TLinkedSource, IEnumerable <TLinkedSourceModelProperty> > getLinkedSourceModelProperty,
     Expression <Func <TLinkedSource, List <TLinkTargetProperty> > > getLinkTargetProperty,
     PropertyInfo linkedSourceModelProperty,
     PropertyInfo linkTargetProperty)
     where TLinkedSource : ILinkedSource
     where TLinkTargetProperty : ILinkedSource
 {
     loadLinkProtocolForLinkedSourceBuilder.LoadLinkNestedLinkedSourcesByIds(
         getLinkedSourceModelProperty,
         getLinkTargetProperty
         );
 }
 /// <inheritdoc />
 public void Apply <TLinkedSource, TLinkTargetProperty, TLinkedSourceModelProperty>(
     LoadLinkProtocolForLinkedSourceBuilder <TLinkedSource> loadLinkProtocolForLinkedSourceBuilder,
     Func <TLinkedSource, IEnumerable <TLinkedSourceModelProperty> > getLinkedSourceModelProperty,
     Expression <Func <TLinkedSource, IList <TLinkTargetProperty> > > getLinkTargetProperty,
     PropertyInfo linkedSourceModelProperty,
     PropertyInfo linkTargetProperty)
 {
     if (typeof(TLinkTargetProperty).IsLinkedSource())
     {
         loadLinkProtocolForLinkedSourceBuilder.LoadLinkNestedLinkedSourcesByIds(
             getLinkedSourceModelProperty,
             getLinkTargetProperty
             );
     }
     else
     {
         loadLinkProtocolForLinkedSourceBuilder.LoadLinkReferencesByIds(
             getLinkedSourceModelProperty,
             getLinkTargetProperty
             );
     }
 }