private void GetInternalDependencies(string dependencyPath)
        {
            var networkDependency = new NetworkDependency
            {
                name = AppodealDependencyUtils.GetConfigName(dependencyPath)
            };

            #region iOSInternalDependencies

            var    sourcesiOS   = new List <string>();
            string podName      = null;
            string version      = null;
            string minTargetSdk = null;

            XmlUtilities.ParseXmlTextFileElements(dependencyPath,
                                                  (reader, elementName, isStart, parentElementName, elementNameStack) =>
            {
                if (elementName == "dependencies" &&
                    parentElementName == "" || elementName == "iosPods" &&
                    (parentElementName == "dependencies" || parentElementName == ""))
                {
                    return(true);
                }

                if (elementName == "iosPod" && parentElementName == "iosPods")
                {
                    if (isStart)
                    {
                        podName      = reader.GetAttribute("name");
                        version      = reader.GetAttribute("version");
                        minTargetSdk = reader.GetAttribute("minTargetSdk");

                        sourcesiOS = new List <string>();
                        if (podName == null)
                        {
                            Debug.Log(
                                $"Pod name not specified while reading {dependencyPath}:{reader.LineNumber}\n");
                            return(false);
                        }
                    }
                    else
                    {
                        if (podName != null && version != null && minTargetSdk != null)
                        {
                            if (!podName.Contains(AppodealDependencyUtils.APDAppodealAdExchangeAdapter))
                            {
                                networkDependency.ios_info = new NetworkDependency.iOSDependency(podName,
                                                                                                 version,
                                                                                                 AppodealDependencyUtils.GetiOSContent(dependencyPath));
                            }
                        }
                    }

                    return(true);
                }

                if (elementName == "sources" && parentElementName == "iosPod")
                {
                    return(true);
                }
                if (elementName == "sources" && parentElementName == "iosPods")
                {
                    if (isStart)
                    {
                        sourcesiOS = new List <string>();
                    }
                    else
                    {
                        using (var enumerator = sourcesiOS.GetEnumerator())
                        {
                            while (enumerator.MoveNext())
                            {
                                var current = enumerator.Current;
                                Debug.Log(current);
                            }
                        }
                    }

                    return(true);
                }

                if (!(elementName == "source") || !(parentElementName == "sources"))
                {
                    return(false);
                }
                if (isStart && reader.Read() && reader.NodeType == XmlNodeType.Text)
                {
                    sourcesiOS.Add(reader.ReadContentAsString());
                }
                return(true);
            });

            #endregion

            #region AndroidInternalDependencies

            var    sources = new List <string>();
            string specName;

            XmlUtilities.ParseXmlTextFileElements(dependencyPath,
                                                  (reader, elementName, isStart, parentElementName, elementNameStack) =>
            {
                if (elementName == "dependencies" &&
                    parentElementName == "" || elementName == "androidPackages" &&
                    (parentElementName == "dependencies" || parentElementName == ""))
                {
                    return(true);
                }

                if (elementName == "androidPackage" && parentElementName == "androidPackages")
                {
                    if (isStart)
                    {
                        specName = reader.GetAttribute("spec");
                        sources  = new List <string>();
                        if (specName == null)
                        {
                            Debug.Log(
                                $"Pod name not specified while reading {dependencyPath}:{reader.LineNumber}\n");
                            return(false);
                        }

                        foreach (var s in new List <string> {
                            "vast", "nast", "mraid", "appodealx", "appodeal"
                        })
                        {
                            if (!specName.Contains(s))
                            {
                                if (specName.Contains(AppodealDependencyUtils.Replace_dependency_value))
                                {
                                    networkDependency.android_info = new NetworkDependency.AndroidDependency(
                                        AppodealDependencyUtils.GetAndroidDependencyName(specName),
                                        AppodealDependencyUtils.GetAndroidDependencyVersion(specName),
                                        AppodealDependencyUtils.GetAndroidContent(dependencyPath));
                                }
                                else if (specName.Contains(AppodealDependencyUtils.Replace_dependency_core))
                                {
                                    networkDependency.android_info = new NetworkDependency.AndroidDependency(
                                        "appodeal",
                                        AppodealDependencyUtils.GetAndroidDependencyCoreVersion(specName),
                                        AppodealDependencyUtils.GetAndroidContent(dependencyPath));
                                }
                            }
                            else
                            {
                                return(false);
                            }
                        }
                    }

                    return(true);
                }

                if (elementName == "sources" && parentElementName == "androidPackage")
                {
                    return(true);
                }
                if (elementName == "sources" && parentElementName == "androidPackages")
                {
                    if (isStart)
                    {
                        sources = new List <string>();
                    }
                    else
                    {
                        using (var enumerator = sources.GetEnumerator())
                        {
                            while (enumerator.MoveNext())
                            {
                                var current = enumerator.Current;
                                Debug.Log(current);
                            }
                        }
                    }

                    return(true);
                }

                if (elementName != "source" || parentElementName != "sources")
                {
                    return(false);
                }
                if (isStart && reader.Read() && reader.NodeType == XmlNodeType.Text)
                {
                    sources.Add(reader.ReadContentAsString());
                }
                return(true);
            });

            #endregion

            if (!string.IsNullOrEmpty(networkDependency.name))
            {
                internalDependencies.Add(networkDependency.name, networkDependency);
            }
        }