static VisitErrorCode TrySetValueImpl <TContainer, TTargetValue>(ref TContainer container, PropertyPath propertyPath, int propertyPathIndex, TTargetValue value, ref ChangeTracker changeTracker) { var action = new SetValueAtPathAction <TContainer, TTargetValue>(propertyPath, propertyPathIndex, value); if (PropertyBagResolver.Resolve <TContainer>() .FindProperty(propertyPath[propertyPathIndex].Name, ref container, ref changeTracker, ref action)) { return(action.ErrorCode); } if (typeof(TContainer) != container.GetType()) { return(SetValueCallback <TTargetValue> .TryExecute(container, propertyPath, propertyPathIndex, value, ref changeTracker)); } return(VisitErrorCode.InvalidPath); }