@Override
    public String toString() {
        List<String> stringPushes = new ArrayList<>(pushes.size());
        for (byte[] push : pushes) {
            if (push.length == 0) {
                stringPushes.add("EMPTY");
            } else {
                stringPushes.add(ByteUtils.formatHex(push));
            }
        }
        return InternalUtils.SPACE_JOINER.join(stringPushes);
    }
@Test
    public void testToString() {
        TransactionWitness w1 = TransactionWitness.EMPTY;
        assertEquals("", w1.toString());

        TransactionWitness w2 = TransactionWitness.of(new byte[0], new byte[0]);
        assertEquals("EMPTY EMPTY", w2.toString());

        TransactionWitness w3 = TransactionWitness.of(ByteUtils.parseHex("123aaa"), ByteUtils.parseHex("123bbb"),
                new byte[0], ByteUtils.parseHex("123ccc"));
        assertEquals("123aaa 123bbb EMPTY 123ccc", w3.toString());
    }