private void Setup(ExtractionInformation extractionInformation)
        {
            ExtractionInformation = extractionInformation;

            if (isFirstTimeSetupCalled)
            {
                //if the catalogue item has same name as the extraction information (alias)
                if (ExtractionInformation.CatalogueItem.Name.Equals(ExtractionInformation.ToString()))
                {
                    _namesMatchedWhenDialogWasLaunched = true;
                }

                _querySyntaxHelper = ExtractionInformation.GetQuerySyntaxHelper();

                QueryEditor              = new ScintillaTextEditorFactory().Create(new RDMPCombineableFactory(), SyntaxLanguage.SQL, _querySyntaxHelper);
                QueryEditor.TextChanged += QueryEditorOnTextChanged;

                var autoComplete = new AutoCompleteProviderWin(_querySyntaxHelper);
                autoComplete.Add(ExtractionInformation.CatalogueItem.Catalogue);

                autoComplete.RegisterForEvents(QueryEditor);
                isFirstTimeSetupCalled = false;
            }

            var colInfo = ExtractionInformation.ColumnInfo;

            //deal with empty values in database (shouldn't be any but could be)
            if (string.IsNullOrWhiteSpace(ExtractionInformation.SelectSQL) && colInfo != null)
            {
                ExtractionInformation.SelectSQL = colInfo.Name.Trim();
                ExtractionInformation.SaveToDatabase();
            }

            QueryEditor.Text = ExtractionInformation.SelectSQL + (!string.IsNullOrWhiteSpace(ExtractionInformation.Alias) ? _querySyntaxHelper.AliasPrefix + ExtractionInformation.Alias : "");


            lblFromTable.Text = colInfo == null?"MISSING ColumnInfo":colInfo.TableInfo.Name;


            if (!pSql.Controls.Contains(QueryEditor))
            {
                pSql.Controls.Add(QueryEditor);
            }
        }