public static Transaction read(ByteBuffer payload) throws BufferUnderflowException, ProtocolException {
        return Transaction.read(payload, ProtocolVersion.CURRENT.intValue());
    }
@Test
    public void parseTransactionWithHugeDeclaredWitnessPushCountSize() {
        Transaction tx = new HugeDeclaredSizeTransaction(false, false, true);
        byte[] serializedTx = tx.serialize();
        try {
            Transaction.read(ByteBuffer.wrap(serializedTx));
            fail("We expect BufferUnderflowException with the fixed code and OutOfMemoryError with the buggy code, so this is weird");
        } catch (BufferUnderflowException e) {
            //Expected, do nothing
        }
    }