@Override
 protected void fixAction() {
   String newVariableName = (String) getValueForParameter("variableName");
   DMEntity newVariableType = (DMEntity) getValueForParameter("variableType");
   DMPropertyImplementationType implementationType =
       (DMPropertyImplementationType) getValueForParameter("implementationType");
   ((IEWidget) getObject())
       .createsBindingVariable(
           newVariableName,
           DMType.makeResolvedDMType(newVariableType),
           implementationType,
           false);
   DMProperty property = null;
   ComponentDMEntity componentDMEntity = ((IEWidget) getObject()).getComponentDMEntity();
   if (componentDMEntity != null) {
     property = componentDMEntity.getDMProperty(newVariableName);
   }
   if (property != null) {
     BindingVariable var =
         ((IEWidget) getObject()).getBindingModel().bindingVariableNamed("component");
     BindingValue newBindingValue = new BindingValue(bindingDefinition, getObject());
     newBindingValue.setBindingVariable(var);
     newBindingValue.addBindingPathElement(property);
     newBindingValue.connect();
     ((FlexoModelObject) getObject()).setObjectForKey(newBindingValue, bindingName);
   }
 }