MethodSpec buildLinkLibraryMethod() {
        MethodSpec.Builder methodBuilder =
                MethodSpec.methodBuilder("linkLibraries")
                        .addModifiers(Modifier.PUBLIC, Modifier.STATIC)
                        .addParameter(
                                ParameterizedTypeName.get(
                                        ClassName.get(List.class),
                                        ClassName.get(Contract.LinkReference.class)),
                                "references")
                        .addStatement(
                                LIBRARIES_LINKED_BINARY
                                        + " = "
                                        + "linkBinaryWithReferences("
                                        + BINARY
                                        + ", references)");

        return methodBuilder.build();
    }
@Test
    public void testBuildFunctionLinkBinaryWithReferences() throws Exception {
        MethodSpec methodSpec = solidityFunctionWrapper.buildLinkLibraryMethod();

        String expected =
                "public static void linkLibraries(java.util.List<org.web3j.tx.Contract.LinkReference> references) {\n"
                        + "  librariesLinkedBinary = linkBinaryWithReferences(BINARY, references);\n"
                        + "}\n";

        assertEquals(methodSpec.toString(), (expected));
    }