AsyncServerForm.SwarmMemory.PortionsIPXML C# (CSharp) Method

PortionsIPXML() private method

private PortionsIPXML ( int LinePerCPU, string statement, List calculationComputers, Hashtable IPtoCPU ) : string
LinePerCPU int
statement string
calculationComputers List
IPtoCPU System.Collections.Hashtable
return string
        private string PortionsIPXML(int LinePerCPU, string[] statement, List<string> calculationComputers, Hashtable IPtoCPU)
        {
            int nextComputer = 0;
            string Portions = "";
            if (LinePerCPU < 1)
            {
                Portions += "<IPPort_Portion>";
                for (int i = 0; i < statement.Length; i++)
                {
                    Portions += "<Computer><IPPort>" + calculationComputers[nextComputer].ToString() + "</IPPort>";
                    for (int k = i; k < i + int.Parse(IPtoCPU[calculationComputers[nextComputer].ToString()].ToString()); k++)
                    {
                        Portions += "<Statement>" + statement[k].ToString() + "</Statement>";
                    }
                    Portions += "</Computer>";
                    i = i + int.Parse(IPtoCPU[calculationComputers[i].ToString()].ToString());
                    nextComputer++;
                }
                Portions += "</IPPort_Portion>";
            }
            else
            {
                Portions += "<IPPort_Portion>";
                for (int i = 0; i < statement.Length; i++)
                {
                    Portions += "<Computer><IPPort>" + calculationComputers[nextComputer].ToString() + "</IPPort>";
                    for (int k = i; k < i + (int.Parse(IPtoCPU[calculationComputers[nextComputer].ToString()].ToString())) * LinePerCPU; k++)
                    {
                        Portions += "<Statement>" + statement[k].ToString() + "</Statement>";
                    }

                    i = i + int.Parse(IPtoCPU[calculationComputers[i].ToString()].ToString());
                    nextComputer++;
                    if (nextComputer > calculationComputers.Count && i < statement.Length)
                    {
                        while (i < statement.Length)
                        {
                            Portions += "<Statement>" + statement[i].ToString() + "</Statement>";
                            i++;
                        }
                    }
                    Portions += "</Computer>";
                }
                Portions += "<Pid>"+Pid+"</Pid></IPPort_Portion>";
            }
            return Portions;
        }
        public void distributeParallelCode(string[] statement)