public T send() throws IOException {
        return web3jService.send(this, responseType);
    }
@Test
    public void testEthGetBaseFeePerBlobGas() throws Exception {
        // mock Web3jService
        Web3jService web3jService = mock(Web3jService.class);
        EthBlock ethBlock = mock(EthBlock.class);
        EthBlock.Block block = mock(EthBlock.Block.class);

        when(web3jService.send(any(), eq(EthBlock.class))).thenReturn(ethBlock);
        when(ethBlock.getBlock()).thenReturn(block);
        when(block.getExcessBlobGas()).thenReturn(BigInteger.ZERO);

        JsonRpc2_0Web3j jsonRpc20Web3j = new JsonRpc2_0Web3j(web3jService);

        BigInteger resultWhenExcessBlobGasIsZero = jsonRpc20Web3j.ethGetBaseFeePerBlobGas();
        assertEquals(
                BigInteger.ONE,
                resultWhenExcessBlobGasIsZero); // Expected result based on your fakeExponential
        // logic and input

        when(block.getExcessBlobGas()).thenReturn(BigInteger.valueOf(79429632L));
        BigInteger resultWhenExcessBlobGasIsNotZero = jsonRpc20Web3j.ethGetBaseFeePerBlobGas();
        assertEquals(BigInteger.valueOf(21518435987L), resultWhenExcessBlobGasIsNotZero);
    }