public static IBindingModeInfoBehaviorSyntax <TSource> ToAction <TTarget, TSource>(
     [NotNull] this IBindingToSyntax <TTarget> syntax, TSource source,
     [NotNull] Func <Expression <Action <TSource, IBindingSyntaxContext <TTarget, TSource> > > > expression)
     where TTarget : class
 {
     return(syntax.ToInternal(expression, source));
 }
 public static IBindingModeInfoBehaviorSyntax <TSource> To <TTarget, TSource>(
     [NotNull] this IBindingToSyntax <TTarget, TSource> syntax,
     [NotNull] Func <Expression <Func <TSource, IBindingSyntaxContext <TTarget, TSource>, object> > > expression)
     where TTarget : class
 {
     return(syntax.ToInternal <TSource>(expression));
 }
 public static IBindingModeInfoBehaviorSyntax <TTarget> ToSelf <TTarget>(
     [NotNull] this IBindingToSyntax <TTarget> syntax,
     [NotNull] Func <Expression <Func <TTarget, IBindingSyntaxContext <TTarget, TTarget>, object> > > expression)
     where TTarget : class
 {
     Should.NotBeNull(syntax, "syntax");
     return(syntax.ToInternal(expression, (TTarget)syntax.Builder.GetData(BindingBuilderConstants.Target, true)));
 }
 public static IBindingModeInfoBehaviorSyntax <TSource> ToAction <TSource>([NotNull] this IBindingToSyntax syntax,
                                                                           [NotNull] Func <Expression <Action <TSource, IBindingSyntaxContext <object, TSource> > > > expression)
 {
     return(syntax.ToInternal <TSource>(expression));
 }
 public static IBindingModeInfoBehaviorSyntax <TSource> To <TSource>([NotNull] this IBindingToSyntax syntax,
                                                                     TSource source, [NotNull] Func <Expression <Func <TSource, IBindingSyntaxContext <object, TSource>, object> > > expression)
 {
     return(syntax.ToInternal(expression, source));
 }