public static <T extends Type> Type decodeIndexedValue(
            String rawInput, TypeReference<T> typeReference) {
        return decoder.decodeEventParameter(rawInput, typeReference);
    }
@Test
    public void testDecodeIndexedDynamicArrayValue() {
        DynamicArray<Uint256> array =
                new DynamicArray<>(Uint256.class, new Uint256(BigInteger.TEN));

        String encoded = TypeEncoder.encodeDynamicArray(array);
        String hash = Hash.sha3(encoded);

        assertEquals(
                FunctionReturnDecoder.decodeIndexedValue(
                        hash, new TypeReference<DynamicArray>() {}),
                (new Bytes32(Numeric.hexStringToByteArray(hash))));
    }