protected override void OnWriteStartMember (XamlMember property)
{
if (property == XamlLanguage.PositionalParameters ||
property == XamlLanguage.Arguments) {
var state = object_states.Peek ();
escaped_objects.Push (state.Value);
state.Value = new List<object> ();
}
// FIXME: this condition needs to be examined. What is known to be prevented are: PositionalParameters, Initialization and Base (the last one sort of indicates there's a lot more).
else if (!(property is XamlDirective))
InitializeObjectIfRequired (false);
}