/**
         * Countries Supported:
         *     AU - Australia
         *     CA - Canada
         *     FR - France
         *     DE - Germany
         *     IL - Israel
         *     IT - Italy
         *     NL - Netherlands
         *     UK - United Kingdom
         *     US - United States
         *
         *
         *
         *
         *
         */
        public AddBankAccountResponse AddBankAccount(AddBankAccountRequest addBankAccountRequest, string apiUserName)
        {
            string  response = Call("AddBankAccount", addBankAccountRequest.ToNVPString(""), apiUserName);
            NVPUtil util     = new NVPUtil();

            return(AddBankAccountResponse.CreateInstance(util.ParseNVPString(response), "", -1));
        }
        /// <summary>
        /// Countries Supported:
        /// AU - Australia
        /// CA - Canada
        /// FR -
        /// France
        /// DE - Germany
        /// IL - Israel
        /// IT - Italy
        /// NL - Netherlands
        /// UK - United
        /// Kingdom
        /// US - United States
        ///
        ///
        ///
        ///
        ///
        /// </summary>
        ///<param name="addBankAccountRequest"></param>
        ///<param name="credential">An explicit ICredential object that you want to authenticate this call against</param>
        public AddBankAccountResponse AddBankAccount(AddBankAccountRequest addBankAccountRequest, ICredential credential)
        {
            IAPICallPreHandler apiCallPreHandler = new PlatformAPICallPreHandler(this.config, addBankAccountRequest.ToNVPString(string.Empty), ServiceName, "AddBankAccount", credential);

            ((PlatformAPICallPreHandler)apiCallPreHandler).SDKName    = SDKName;
            ((PlatformAPICallPreHandler)apiCallPreHandler).SDKVersion = SDKVersion;
            ((PlatformAPICallPreHandler)apiCallPreHandler).PortName   = "AdaptiveAccounts";

            NVPUtil util = new NVPUtil();

            return(AddBankAccountResponse.CreateInstance(util.ParseNVPString(Call(apiCallPreHandler)), string.Empty, -1));
        }