/// <summary>
        /// Pressing the OK Button
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(Object sender, EventArgs e)
        {
            EA.Diagram openDiag = repository.GetCurrentDiagram();
            //No Association between the objects classifiers has been found
            if (listboxLinks.Items.Count == 0)
            {
                System.Windows.Forms.MessageBox.Show("There is no Association between these two elements");
                Close();
                return;
            }
            if (listboxLinks.SelectedItem != null)
            {
                BindingSemantics bindingSemantics = BindingSemantics.MANDATORY;
                BindingOperator  bindingOperator  = BindingOperator.CHECK_ONLY;
                if (radioButtonMandatory.Checked)
                {
                    bindingSemantics = BindingSemantics.MANDATORY;
                }
                else if (radioButtonNegative.Checked)
                {
                    bindingSemantics = BindingSemantics.NEGATIVE;
                }
                if (radioButtonDestroy.Checked)
                {
                    bindingOperator = BindingOperator.DESTROY;
                }
                else if (radioButtonCreate.Checked)
                {
                    bindingOperator = BindingOperator.CREATE;
                }
                else if (radioButtonCheckOnly.Checked)
                {
                    bindingOperator = BindingOperator.CHECK_ONLY;
                }

                if (complexNAC1.getNacIndexValue() != "" && radioButtonNegative.Checked)
                {
                    linkVariable.NacIndex = int.Parse(complexNAC1.getNacIndexValue());
                }
                else
                {
                    linkVariable.NacIndex = -1;
                }

                linkVariable.linkDialogueEntry = this.linkDialogueEntries[listboxLinks.SelectedIndex];

                //new linkvariable handling
                linkVariable.BindingSemantics = bindingSemantics;
                linkVariable.BindingOperator  = bindingOperator;

                linkVariable.saveTreeToEATaggedValue(true);
                EA.Diagram currentDiag = repository.GetCurrentDiagram();
                if (currentDiag != null)
                {
                    repository.ReloadDiagram(currentDiag.DiagramID);
                }
                Close();
            }
        }
        public override void doRuleQuickFix(SQLConnector eaConnector, SQLRepository repository, int i, String errorMessage)
        {
            LinkVariable lv = new LinkVariable(eaConnector, repository);

            lv.loadTreeFromTaggedValue();


            if (errorMessage == "The rolename(s) of the LinkVariable differs from the related EReference")
            {
                if (i == 0)
                {
                    SQLConnector referencedReference = SDMUtil.getRelatedEReference(lv);
                    if (referencedReference != null)
                    {
                        EA.Diagram currentDiagram = repository.GetCurrentDiagram();

                        lv.linkDialogueEntry.clientRoleName   = referencedReference.ClientEnd.Role;
                        lv.linkDialogueEntry.supplierRoleName = referencedReference.SupplierEnd.Role;
                        lv.saveTreeToEATaggedValue(true);


                        if (currentDiagram != null)
                        {
                            repository.SaveDiagram(currentDiagram.DiagramID);
                            repository.ReloadDiagram(currentDiagram.DiagramID);
                        }
                    }
                }
            }
            else
            {
                if (i == 0)
                {
                    if (eaConnector.Stereotype == SDMModelingMain.LinkVariableStereotype)
                    {
                        lv = new LinkVariable(eaConnector, repository);
                    }
                    else if (eaConnector.Stereotype == TGGModelingMain.TggLinkVariableStereotype)
                    {
                        lv = new TGGLinkVariable(eaConnector, repository);
                    }
                    LinkVariablePropertiesForm lvForm = new LinkVariablePropertiesForm(lv, repository, true);
                }
            }
        }