private static void ResortControlsForTrendscape(
            ref XmlNode currCntrlContainer,
            XmlNode cntrlNode,
            XmlNode currNode,
            XmlNode controlNode,
            ref bool breakWork,
            String optionCaptionML)
        {
            MetadataDocumentManagement metaDataDocMgt = MetadataDocumentManagement.Instance;

            if (metaDataDocMgt.MoveElementsDoc == null)
            {
                return;
            }

            StringBuilder queryPromoted = new StringBuilder();

            queryPromoted.Append(@"./a:MovePageElements/a:Page[@ID='");
            queryPromoted.Append(((int)MovePageElements.NotFormsId.TrendscapeControls).ToString(CultureInfo.InvariantCulture));
            queryPromoted.Append("' and @OptionCaptionML ='");
            queryPromoted.Append(optionCaptionML.Replace("'", ""));
            queryPromoted.Append("']");

            XmlNode trend = metaDataDocMgt.MoveElementsDoc.SelectSingleNode(queryPromoted.ToString(), metaDataDocMgt.XmlNamespaceMgt);

            if (trend == null)
            {
                return;
            }

            if (GetProperty(controlNode, "CaptionML") == null)
            {
                XmlNode propNode = controlNode.SelectSingleNode(
                    @"./a:Properties", metaDataDocMgt.XmlNamespaceMgt);

                string captionMlFromFile = GetAttribute(trend, "CaptionML");
                propNode.AppendChild(XmlUtility.CreateXmlElement("CaptionML", captionMlFromFile));

                propNode.AppendChild(XmlUtility.CreateXmlElement("TempProperty", "Trendscape"));

                XmlNode cntrlTypeNode = propNode.SelectSingleNode(
                    @"./a:Controltype", metaDataDocMgt.XmlNamespaceMgt);
                if ((cntrlTypeNode != null) && (cntrlTypeNode.InnerText == "RadioButton"))
                {
                    cntrlTypeNode.InnerText = "Field";
                }
            }

            if (currCntrlContainer == null)
            {
                Boolean done         = false;
                XmlNode tempCurrNode = currNode;
                if (tempCurrNode != null)
                {
                    while (!done)
                    {
                        if (((tempCurrNode.Name == "Control") && (GetProperty(tempCurrNode, "Controltype") == "Part")) ||
                            ((tempCurrNode.Name == "Group") && (GetProperty(tempCurrNode, "GroupType") == "Repeater")))
                        {
                            if ((tempCurrNode.PreviousSibling != null) &&
                                (tempCurrNode.PreviousSibling.Name == "Group") &&
                                (GetProperty(tempCurrNode.PreviousSibling, "CaptionML").Contains("ENU=Options")))
                            {
                                currCntrlContainer = tempCurrNode.PreviousSibling;
                                currCntrlContainer.AppendChild(controlNode.ParentNode.RemoveChild(controlNode));
                            }
                            else
                            {
                                tempCurrNode =
                                    cntrlNode.InsertBefore(
                                        PageControls.CreateBand(
                                            /*metaDataDocMgt.GetNewId.ToString(CultureInfo.InvariantCulture)*/
                                            metaDataDocMgt.CalcId(null, "Options", "ContentArea").ToString(CultureInfo.InvariantCulture), "ENU=Options"),
                                        tempCurrNode);
                                currCntrlContainer = tempCurrNode;
                                currCntrlContainer.AppendChild(controlNode.ParentNode.RemoveChild(controlNode));
                            }

                            done = true;
                        }

                        if (tempCurrNode != null)
                        {
                            break;
                        }
                    }

                    if (!done)
                    {
                        tempCurrNode = tempCurrNode.PreviousSibling;
                        if (tempCurrNode != null)
                        {
                            if (tempCurrNode.Name == "Properties")
                            {
                                breakWork = true;
                            }
                        }
                    }
                }

                if (done)
                {
                    breakWork = true;
                }
            }
            else if ((currCntrlContainer.Name == "Group") &&
                     (GetProperty(currCntrlContainer, "CaptionML").Contains("ENU=Options")))
            {
                currCntrlContainer.AppendChild(controlNode.ParentNode.RemoveChild(controlNode));
                breakWork = true;
            }
        }