/// <summary>
 /// Called when visiting any leaf property with no specialized handling.
 /// </summary>
 /// <param name="property">The property providing access to the value.</param>
 /// <param name="container">The container being visited.</param>
 /// <param name="value">The value being visited.</param>
 /// <typeparam name="TContainer">The container type.</typeparam>
 /// <typeparam name="TValue">The value type.</typeparam>
 protected virtual void VisitProperty <TContainer, TValue>(Property <TContainer, TValue> property, ref TContainer container, ref TValue value)
 {
     PropertyContainer.TryAccept(this, ref value);
 }