public static DescribeMasterSlaveServerGroupsResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeMasterSlaveServerGroupsResponse describeMasterSlaveServerGroupsResponse = new DescribeMasterSlaveServerGroupsResponse();

            describeMasterSlaveServerGroupsResponse.HttpResponse = context.HttpResponse;
            describeMasterSlaveServerGroupsResponse.RequestId    = context.StringValue("DescribeMasterSlaveServerGroups.RequestId");

            List <DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup> describeMasterSlaveServerGroupsResponse_masterSlaveServerGroups = new List <DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup>();

            for (int i = 0; i < context.Length("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups.Length"); i++)
            {
                DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup masterSlaveServerGroup = new DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup();
                masterSlaveServerGroup.MasterSlaveServerGroupId   = context.StringValue("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups[" + i + "].MasterSlaveServerGroupId");
                masterSlaveServerGroup.MasterSlaveServerGroupName = context.StringValue("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups[" + i + "].MasterSlaveServerGroupName");

                describeMasterSlaveServerGroupsResponse_masterSlaveServerGroups.Add(masterSlaveServerGroup);
            }
            describeMasterSlaveServerGroupsResponse.MasterSlaveServerGroups = describeMasterSlaveServerGroupsResponse_masterSlaveServerGroups;

            return(describeMasterSlaveServerGroupsResponse);
        }
        public static DescribeMasterSlaveServerGroupsResponse Unmarshall(UnmarshallerContext _ctx)
        {
            DescribeMasterSlaveServerGroupsResponse describeMasterSlaveServerGroupsResponse = new DescribeMasterSlaveServerGroupsResponse();

            describeMasterSlaveServerGroupsResponse.HttpResponse = _ctx.HttpResponse;
            describeMasterSlaveServerGroupsResponse.RequestId    = _ctx.StringValue("DescribeMasterSlaveServerGroups.RequestId");

            List <DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup> describeMasterSlaveServerGroupsResponse_masterSlaveServerGroups = new List <DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup>();

            for (int i = 0; i < _ctx.Length("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups.Length"); i++)
            {
                DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup masterSlaveServerGroup = new DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup();
                masterSlaveServerGroup.MasterSlaveServerGroupId   = _ctx.StringValue("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups[" + i + "].MasterSlaveServerGroupId");
                masterSlaveServerGroup.MasterSlaveServerGroupName = _ctx.StringValue("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups[" + i + "].MasterSlaveServerGroupName");

                DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup.DescribeMasterSlaveServerGroups_AssociatedObjects associatedObjects = new DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup.DescribeMasterSlaveServerGroups_AssociatedObjects();

                List <DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup.DescribeMasterSlaveServerGroups_AssociatedObjects.DescribeMasterSlaveServerGroups_Listener> associatedObjects_listeners = new List <DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup.DescribeMasterSlaveServerGroups_AssociatedObjects.DescribeMasterSlaveServerGroups_Listener>();
                for (int j = 0; j < _ctx.Length("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups[" + i + "].AssociatedObjects.Listeners.Length"); j++)
                {
                    DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup.DescribeMasterSlaveServerGroups_AssociatedObjects.DescribeMasterSlaveServerGroups_Listener listener = new DescribeMasterSlaveServerGroupsResponse.DescribeMasterSlaveServerGroups_MasterSlaveServerGroup.DescribeMasterSlaveServerGroups_AssociatedObjects.DescribeMasterSlaveServerGroups_Listener();
                    listener.Protocol = _ctx.StringValue("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups[" + i + "].AssociatedObjects.Listeners[" + j + "].Protocol");
                    listener.Port     = _ctx.IntegerValue("DescribeMasterSlaveServerGroups.MasterSlaveServerGroups[" + i + "].AssociatedObjects.Listeners[" + j + "].Port");

                    associatedObjects_listeners.Add(listener);
                }
                associatedObjects.Listeners = associatedObjects_listeners;
                masterSlaveServerGroup.AssociatedObjects = associatedObjects;

                describeMasterSlaveServerGroupsResponse_masterSlaveServerGroups.Add(masterSlaveServerGroup);
            }
            describeMasterSlaveServerGroupsResponse.MasterSlaveServerGroups = describeMasterSlaveServerGroupsResponse_masterSlaveServerGroups;

            return(describeMasterSlaveServerGroupsResponse);
        }