@Test
@SuppressWarnings("unchecked")
public void testDecodeStaticArrayValue() {

    List<TypeReference<Type>> outputParameters = new ArrayList<>(1);
    outputParameters.add((TypeReference)
            new TypeReference.StaticArrayTypeReference<StaticArray<Uint256>>(2) {});
    outputParameters.add((TypeReference) new TypeReference<Uint256>() {});
    List<Type> decoded = FunctionReturnDecoder.decode(
            "0x0000000000000000000000000000000000000000000000000000000000000037"
                    + "0000000000000000000000000000000000000000000000000000000000000001"
                    + "000000000000000000000000000000000000000000000000000000000000000a",
            outputParameters);
    List<Type> expected = Arrays.asList(
            new StaticArray<>(new Uint256(BigInteger.valueOf(55)), new Uint256(BigInteger.ONE)),
            new Uint256(BigInteger.TEN));
    assertThat(decoded, equalTo(expected));
}