/// <summary>
        /// starting block for the conversion
        /// </summary>
        public void ProcessDictionary()
        {
            if (ClarionClPath == null)
            {
                CommandLineLocation = GetCommandLineLocation();
            }
            else
            {
                CommandLineLocation = Path.GetDirectoryName(ClarionClPath);
            }

            if (CommandLineLocation == null || !File.Exists(CommandLineLocation + "\\ClarionCl.Exe"))
            {
                Console.WriteLine("No clarion command line location available");
                return;
            }
            var dictionary = string.Empty;

            if (FileToProcess != null)
            {
                dictionary = FileToProcess;
            }
            else
            {
                if (ImportExportFileDialogs.OpenFileDialog(JsonFileFilter, "Select the file to be processed.", out dictionary, settings))
                {
                    return;
                }
            }

            FileToBeProcessed = dictionary;
            ProcessSelectedFile();
        }
        /// <summary>
        /// Find out location of the clarioncl.exe folder and if the file
        /// exists
        /// </summary>
        /// <returns>string Location of the file</returns>
        string GetCommandLineLocation()
        {
            string binDirectory = settings.GetBinDirectoryLocation();

            if (binDirectory == null || !File.Exists(binDirectory + "\\ClarionCl.Exe"))
            {
                binDirectory = ImportExportFileDialogs.SelectLocationOfClarionCommandLine();
                if (binDirectory != null)
                {
                    settings.SetBinDirectoryLocation(binDirectory);
                }
            }
            return(binDirectory);
        }