public List<GroupStatus> CheckSystem()
        {
            var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ArcGISHealthChecker.config");
            var healthConfig = ConfigurationReader.DeserializeFromXML(fileName);
            var httpChecker = new HTTPChecker();
            var tcpChecker = new TCPCheck.TCPChecker();
            var groupStatuses = new List<GroupStatus>();

            foreach (var group in healthConfig.Groups)
            {
                var groupStatus = new GroupStatus();
                groupStatus.Name = group.Name;
                groupStatus.ServicesStatus.AddRange(httpChecker.CheckHTTPServices(group.HTTPServices));
                groupStatus.ServicesStatus.AddRange(tcpChecker.CheckTCPServices(group.TCPServices));
                groupStatus.Status = groupStatus.ServicesStatus.Any(s => s.Status != "ON") ? "OFF" : "ON";

                groupStatuses.Add(groupStatus);
            }

            return groupStatuses;
        }