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