function to add refund address for payer
     *
     * @notice msg.sender must be _payer
     * @notice the refund addresses must not have been already provided 
     *
     * @param _requestId                id of the request
     * @param _payerRefundAddress       payer bitcoin addresses for refund as bytes
     *                                           [
     *                                            uint8(payee1_refund_bitcoin_address_size)
     *                                            string(payee1_refund_bitcoin_address)
     *                                            uint8(payee2_refund_bitcoin_address_size)
     *                                            string(payee2_refund_bitcoin_address)
     *                                            ...
     *                                           ]
     */
    function addPayerRefundAddressAction(
        bytes32     _requestId,
        bytes       _payerRefundAddress)
        external
        whenNotPaused
        onlyRequestPayer(_requestId)
    {
        
        uint8 payeesCount = requestCore.getSubPayeesCount(_requestId).add(1);

        
        
        uint256 cursor = 0;
        uint8 sizeCurrentBitcoinAddress;
        uint8 j;

        
        for (j = 0; j < payeesCount; j = j.add(1)) {
            
            require(bytes(payerRefundAddress[_requestId][cursor]).length == 0, "payer refund address must not be already given");

            
            sizeCurrentBitcoinAddress = uint8(_payerRefundAddress[cursor]);

            
            payerRefundAddress[_requestId][j] = Bytes.extractString(_payerRefundAddress, sizeCurrentBitcoinAddress, ++cursor);

            
            cursor += sizeCurrentBitcoinAddress;
        }
        emit RefundAddressAdded(_requestId);
    }