private DotvvmControl GetDataContextTarget(DotvvmControl control, DotvvmProperty property)
        {
            var controlDataContextType  = control.GetDataContextType();
            var propertyDataContextType = property.GetDataContextType(control);

            if (!Equals(controlDataContextType, propertyDataContextType))
            {
                var tempContainer = new DataItemContainer {
                    Parent = control, DataContext = null
                };
                tempContainer.SetDataContextType(propertyDataContextType);
                return(tempContainer);
            }

            return(control);
        }