internal override void PerformAction()
        {
            CountryConfig.SystemRow systemRow = (_senderColumn.Tag as SystemTreeListTag).GetSystemRow();

            string newSystemName = systemRow.Name, oldSystemName = systemRow.Name, newSystemYear = systemRow.Year;

            if (!SystemValidation.GetSystemNameAndYear(_dataConfigFacade != null, ref newSystemName, ref newSystemYear, _senderColumn.TreeList))
            {
                _actionIsCanceled = true;
                return;
            }

            // main action: rename system
            systemRow.Name = newSystemName; systemRow.Year = newSystemYear;
            // rename references in database-system-connection (if 'country' isn't an add-on)
            if (_dataConfigFacade != null)
            {
                _dataConfigFacade.RenameSystemInDBSystemConfigRows(systemRow.ID, newSystemName);
            }
            // rename references in conditional formatting
            _countryConfigFacade.RenameSystemInConditionalFormats(oldSystemName, newSystemName);

            if (_dataConfigFacade != null)
            {
                // rename standard-output-files (last parameter (request): ask user if she actually wants this to happen)
                CopySystemAction.RenameOutputFiles(_countryConfigFacade, systemRow, oldSystemName, true);
                // change name in global exchange rate file
                ChangeNameInExchangeRatesConfig(systemRow, oldSystemName);
                // warn about not-adaptation of AddOn_Applic-policy
                OptionalWarningsManager.Show(OptionalWarningsManager._renameSystemWarning);
            }
        }