private void UpdateParserLibs(NitraClient client)
        {
            try {
                RemoveDuplicates(ParserLibs, pl => ToFullSuitePath(pl.Path));

                var libsArray = ParserLibs.Select(vm => ToFullSuitePath(vm.Path)).ToImmutableArray();

                client.Send(new ClientMessage.GetLibsMetadata(libsArray));
                var libsMetadata = client.Receive <ServerMessage.LibsMetadata>().metadatas;

                client.Send(new ClientMessage.GetLibsSyntaxModules(libsArray));
                var libsSyntaxModules = client.Receive <ServerMessage.LibsSyntaxModules>().modules;

                client.Send(new ClientMessage.GetLibsProjectSupports(libsArray));
                var libsProjectSupports = client.Receive <ServerMessage.LibsProjectSupports>().libs;

                Languages.Clear();
                DynamicExtensions.Clear();
                ProjectSupports.Clear();

                for (int i = 0; i < libsMetadata.Length; i++)
                {
                    var languages       = libsMetadata[i].Languages;
                    var syntaxModules   = libsSyntaxModules[i].Modules;
                    var projectSupports = libsProjectSupports[i].ProjectSupports;

                    foreach (var language in languages)
                    {
                        Languages.Add(language);
                    }

                    if (!Languages.IsEmpty)
                    {
                        SelectedLanguage = Languages[0];
                    }

                    foreach (var syntaxModule in syntaxModules)
                    {
                        DynamicExtensions.Add(new DynamicExtensionViewModel(syntaxModule));
                    }

                    foreach (var projectSupport in projectSupports)
                    {
                        ProjectSupports.Add(new ProjectSupportViewModel(projectSupport.Caption, projectSupport.Path, projectSupport));
                    }
                }
            } catch (Exception e) {
                Debug.WriteLine("Failed to update parser lib metadata" + Environment.NewLine + e);
            }
        }