public static DescribeAccountsResponse Unmarshall(UnmarshallerContext context)
        {
            DescribeAccountsResponse describeAccountsResponse = new DescribeAccountsResponse();

            describeAccountsResponse.HttpResponse = context.HttpResponse;
            describeAccountsResponse.RequestId    = context.StringValue("DescribeAccounts.RequestId");

            List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount> describeAccountsResponse_accounts = new List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount>();

            for (int i = 0; i < context.Length("DescribeAccounts.Accounts.Length"); i++)
            {
                DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount dBInstanceAccount = new DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount();
                dBInstanceAccount.DBInstanceId       = context.StringValue("DescribeAccounts.Accounts[" + i + "].DBInstanceId");
                dBInstanceAccount.AccountName        = context.StringValue("DescribeAccounts.Accounts[" + i + "].AccountName");
                dBInstanceAccount.AccountStatus      = context.StringValue("DescribeAccounts.Accounts[" + i + "].AccountStatus");
                dBInstanceAccount.AccountType        = context.StringValue("DescribeAccounts.Accounts[" + i + "].AccountType");
                dBInstanceAccount.AccountDescription = context.StringValue("DescribeAccounts.Accounts[" + i + "].AccountDescription");

                List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege> dBInstanceAccount_databasePrivileges = new List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege>();
                for (int j = 0; j < context.Length("DescribeAccounts.Accounts[" + i + "].DatabasePrivileges.Length"); j++)
                {
                    DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege databasePrivilege = new DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege();
                    databasePrivilege.DBName           = context.StringValue("DescribeAccounts.Accounts[" + i + "].DatabasePrivileges[" + j + "].DBName");
                    databasePrivilege.AccountPrivilege = context.StringValue("DescribeAccounts.Accounts[" + i + "].DatabasePrivileges[" + j + "].AccountPrivilege");

                    dBInstanceAccount_databasePrivileges.Add(databasePrivilege);
                }
                dBInstanceAccount.DatabasePrivileges = dBInstanceAccount_databasePrivileges;

                describeAccountsResponse_accounts.Add(dBInstanceAccount);
            }
            describeAccountsResponse.Accounts = describeAccountsResponse_accounts;

            return(describeAccountsResponse);
        }
        public static DescribeAccountsResponse Unmarshall(UnmarshallerContext _ctx)
        {
            DescribeAccountsResponse describeAccountsResponse = new DescribeAccountsResponse();

            describeAccountsResponse.HttpResponse             = _ctx.HttpResponse;
            describeAccountsResponse.RequestId                = _ctx.StringValue("DescribeAccounts.RequestId");
            describeAccountsResponse.SystemAdminAccountStatus = _ctx.StringValue("DescribeAccounts.SystemAdminAccountStatus");
            describeAccountsResponse.SystemAdminAccountFirstActivationTime = _ctx.StringValue("DescribeAccounts.SystemAdminAccountFirstActivationTime");
            describeAccountsResponse.PageNumber       = _ctx.IntegerValue("DescribeAccounts.PageNumber");
            describeAccountsResponse.TotalRecordCount = _ctx.IntegerValue("DescribeAccounts.TotalRecordCount");

            List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount> describeAccountsResponse_accounts = new List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount>();

            for (int i = 0; i < _ctx.Length("DescribeAccounts.Accounts.Length"); i++)
            {
                DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount dBInstanceAccount = new DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount();
                dBInstanceAccount.DBInstanceId       = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].DBInstanceId");
                dBInstanceAccount.AccountName        = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].AccountName");
                dBInstanceAccount.AccountStatus      = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].AccountStatus");
                dBInstanceAccount.AccountType        = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].AccountType");
                dBInstanceAccount.AccountDescription = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].AccountDescription");
                dBInstanceAccount.PrivExceeded       = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].PrivExceeded");

                List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege> dBInstanceAccount_databasePrivileges = new List <DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege>();
                for (int j = 0; j < _ctx.Length("DescribeAccounts.Accounts[" + i + "].DatabasePrivileges.Length"); j++)
                {
                    DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege databasePrivilege = new DescribeAccountsResponse.DescribeAccounts_DBInstanceAccount.DescribeAccounts_DatabasePrivilege();
                    databasePrivilege.DBName                 = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].DatabasePrivileges[" + j + "].DBName");
                    databasePrivilege.AccountPrivilege       = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].DatabasePrivileges[" + j + "].AccountPrivilege");
                    databasePrivilege.AccountPrivilegeDetail = _ctx.StringValue("DescribeAccounts.Accounts[" + i + "].DatabasePrivileges[" + j + "].AccountPrivilegeDetail");

                    dBInstanceAccount_databasePrivileges.Add(databasePrivilege);
                }
                dBInstanceAccount.DatabasePrivileges = dBInstanceAccount_databasePrivileges;

                describeAccountsResponse_accounts.Add(dBInstanceAccount);
            }
            describeAccountsResponse.Accounts = describeAccountsResponse_accounts;

            return(describeAccountsResponse);
        }