public static List<Type> decode(String rawInput, List<TypeReference<Type>> outputParameters) {
        return decoder.decodeFunctionResult(rawInput, outputParameters);
    }
@Test
    public void testDecodeDynamicStruct3() {
        AbiV2TestFixture.Nazz nazz =
                new AbiV2TestFixture.Nazz(
                        Collections.singletonList(
                                new AbiV2TestFixture.Nazzy(
                                        Arrays.asList(
                                                new AbiV2TestFixture.Foo("a", "b"),
                                                new AbiV2TestFixture.Foo("c", "d")))),
                        new BigInteger("100"));
        String rawInput = FunctionEncoder.encodeConstructor(Collections.singletonList(nazz));

        List<Type> decoded =
                FunctionReturnDecoder.decode(
                        rawInput, AbiV2TestFixture.getNazzFunction.getOutputParameters());
        assertEquals(Collections.singletonList(nazz).get(0).toString(), decoded.get(0).toString());
    }