protected virtual ISingleBindingSourceAccessor GetAccessor(object model, string path, IDataContext context, bool isSource)
 {
     var observer = new MultiPathObserver(model, BindingPath.Create(path), false);
     var source = isSource
         ? new BindingSource(observer)
         : new BindingTarget(observer);
     return new BindingSourceAccessor(source, context, !isSource);
 }
 protected virtual ISingleBindingSourceAccessor GetAccessor(object model, string path, IDataContext context, bool isSource, Func<IDataContext, object> commandParameterDelegate = null)
 {
     var source = new MultiPathObserver(model, BindingPath.Create(path), false);
     if (commandParameterDelegate != null)
     {
         context = context.ToNonReadOnly();
         context.AddOrUpdate(BindingBuilderConstants.CommandParameter, commandParameterDelegate);
     }
     return new BindingSourceAccessor(source, context, !isSource);
 }
 private static IBindingSource CreateSource(object model, string path)
 {
     var observer = new MultiPathObserver(model, BindingPath.Create(path), false);
     return new BindingSource(observer);
 }