    @Test
    public void createUnmodifiableStatementShouldCopyListDefensively() throws Exception {

        // setup
        final TypeElement element = elements.getTypeElement(List.class.getCanonicalName());
        final TypeMirror mirror = element.asType();

        // exercise
        final CodeBlock actual = CodeBlocks.createUnmodifiableStatement(mirror, "value");

        // verify
        assertThat(actual.toString())
                .isEqualTo("new java.util.ArrayList<>(value)");
    }