/// <inheritdoc />
        protected override void BuildPartUI(VisualElement parent)
        {
            if (m_Model is IVariableDeclarationModel variableDeclarationModel)
            {
                m_Field = GraphElementFactory.CreateUI <GraphElement>(m_OwnerElement.View, m_OwnerElement.CommandDispatcher,
                                                                      variableDeclarationModel, blackboardVariablePartCreationContext);

                if (m_Field == null)
                {
                    return;
                }

                m_Field.AddToClassList(ussClassName);
                m_Field.AddToClassList(m_ParentClassName.WithUssElement(PartName));
                m_Field.viewDataKey = m_Model.Guid + "__" + Blackboard.persistenceKey;

                m_Field.AddToView(m_OwnerElement.View);

                if (m_Field is BlackboardField blackboardField)
                {
                    blackboardField.NameLabel.RegisterCallback <ChangeEvent <string> >(OnFieldRenamed);
                }

                if (parent is BlackboardRow row)
                {
                    row.FieldSlot.Add(m_Field);
                }
                else
                {
                    parent.Add(m_Field);
                }
            }
        }
 /// <inheritdoc />
 protected override void PartOwnerAddedToView()
 {
     m_Field.AddToView(m_OwnerElement.View);
     base.PartOwnerAddedToView();
 }