private void mergeOneChild(ParamTreeNode paramParamTreeNode)
        {
            if (paramParamTreeNode.ChildCount == 1)
            {
                ParamTreeNode paramTreeNode = (ParamTreeNode)paramParamTreeNode.getChildAt(0);
                System.Collections.IEnumerator enumeration1 = paramTreeNode.children();
                List <object> arrayList1 = new List <object>();
                while (enumeration1.MoveNext())
                {
                    arrayList1.Add((ParamTreeNode)enumeration1.Current);
                }
                if (StringUtils.isNullOrBlank(paramParamTreeNode.UserObject.ToString()))
                {
                    paramParamTreeNode.UserObject = paramTreeNode.UserObject;
                }
                else
                {
                    paramParamTreeNode.UserObject = paramParamTreeNode.UserObject + ", " + paramTreeNode.UserObject;
                }
                paramParamTreeNode.remove(paramTreeNode);
                foreach (ParamTreeNode paramTreeNode1 in arrayList1)
                {
                    paramParamTreeNode.add(paramTreeNode1);
                    paramTreeNode1.Parent = paramParamTreeNode;
                }
                if (paramParamTreeNode.ChildCount == 1)
                {
                    mergeOneChild(paramParamTreeNode);
                    return;
                }
            }
            System.Collections.IEnumerator enumeration = paramParamTreeNode.children();
            List <object> arrayList = new List <object>();

            while (enumeration.MoveNext())
            {
                arrayList.Add((ParamTreeNode)enumeration.Current);
            }
            foreach (ParamTreeNode paramTreeNode in arrayList)
            {
                mergeOneChild(paramTreeNode);
            }
        }
 private void constructTreeFromDescs(ParamTreeNode paramParamTreeNode, IList <string> paramList)
 {
     foreach (string str in paramList)
     {
         ParamTreeNode paramTreeNode = paramParamTreeNode;
         string[]      arrayOfString = str.ToUpper().Split(", ", true);
         foreach (string str1 in arrayOfString)
         {
             ParamTreeNode paramTreeNode1 = getChildOfName(paramTreeNode, str1);
             if (paramTreeNode1 != null)
             {
                 paramTreeNode = paramTreeNode1;
             }
             else
             {
                 paramTreeNode1 = new ParamTreeNode(this, str1);
                 paramTreeNode.add(paramTreeNode1);
                 paramTreeNode1.Parent = paramTreeNode;
                 paramTreeNode         = paramTreeNode1;
             }
         }
     }
     mergeOneChild(paramParamTreeNode);
 }