function _wrap(
        address _owner
    ) private returns (bool success) {
        
        address wethAddress = _weth();

        
        
        success = wethAddress.call
            .gas(200000)
            .value(msg.value)
            (abi.encodeWithSignature("deposit()"));
            
        
        if (success) {
            
            _balances[wethAddress][_owner] = 
                _balances[wethAddress][_owner].add(msg.value);
            
            
            bytes memory data;
    
            
            emit Deposit(
                wethAddress, 
                _owner, 
                msg.value, 
                data
            );
        } else {
            
            revert('An error occurred while wrapping your ETH.');
        }
    }