private string searchInServer(String sourceString)
        {
            if (_neurotolgeConnector == null)
            {
                // Use basic connection settings
                string serverAddress = _options.serverAddress;
                int    serverPort    = int.Parse(_options.port);

                // Use features
                string        client   = _options.client;
                string        subject  = _options.subject;
                List <string> features = new List <string>();

                if (!String.IsNullOrEmpty(client))
                {
                    features.Add(client);
                }

                if (!String.IsNullOrEmpty(subject))
                {
                    features.Add(subject);
                }

                if (!String.IsNullOrEmpty(_options.otherFeatures))
                {
                    features.AddRange(_options.otherFeatures.Split(';'));
                }

                _neurotolgeConnector = new NLPConnector(serverAddress, serverPort, _languageDirection, features);
            }

            var translatedText = _neurotolgeConnector.getTranslation(_languageDirection, sourceString);

            return(translatedText);
        }
        private async Task <List <PreTranslateSegment> > PrepareTempData(List <PreTranslateSegment> preTranslateSegments)
        {
            try
            {
                string sourceString = String.Empty;
                for (var i = 0; i < preTranslateSegments.Count; i++)
                {
                    var    newSeg     = preTranslateSegments[i].TranslationUnit.SourceSegment.Duplicate();
                    string sourceText = newSeg.ToPlain();

                    preTranslateSegments[i].SourceText = sourceText;

                    //sourceString += sourceText + "|";
                }

                // Use basic connection settings
                string serverAddress = _options.serverAddress;
                int    serverPort    = int.Parse(_options.port);

                // Use features
                string        client   = _options.client;
                string        subject  = _options.subject;
                List <string> features = new List <string>();

                if (!String.IsNullOrEmpty(client))
                {
                    features.Add(client);
                }

                if (!String.IsNullOrEmpty(subject))
                {
                    features.Add(subject);
                }

                if (!String.IsNullOrEmpty(_options.otherFeatures))
                {
                    features.AddRange(_options.otherFeatures.Split(';'));
                }
                var translator = new NLPConnector(serverAddress, serverPort, _languageDirection, features);

                await Task.Run(() => Parallel.ForEach(preTranslateSegments, segment =>
                {
                    var translation          = HttpUtility.UrlDecode(translator.getTranslation(_languageDirection, segment.SourceText));
                    segment.PlainTranslation = HttpUtility.HtmlDecode(translation);
                })).ConfigureAwait(true);

                return(preTranslateSegments);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
            }

            return(preTranslateSegments);
        }